RobVision-Einrichtung
Voraussetzungen
- Mindestversion RobFlow Frontend: v5.5.0
- Mindestversion RobFlow Backend: v5.5.0
Konfiguration
RobFlow öffnen
- Öffnen Sie einen Webbrowser, vorzugsweise Chrome.
- Geben Sie die IP-Adresse des Roboters in die Adressleiste ein, um RobFlow zu starten.
Roboterkonfiguration aufrufen
- Wechseln Sie in den Bereich Robot Configuration.
- Wählen Sie den Tab RobVision Devices

RobVision Device hinzufügen
- Klicken Sie auf „Add Device“.
- Tragen Sie die folgenden Angaben ein:
- Name: [eigener Name]
- Host IP: 192.168.1.11
- Schließen Sie das Fenster

Kamera-Roboter-Kalibrierung
Die Kamera-Roboter-Kalibrierung bestimmt die räumliche Beziehung zwischen Kamera und Roboter und ermöglicht es dem System, von der Kamera erkannte Objektpositionen in das Koordinatensystem des Roboters zu übersetzen.
Kamera am Roboter montiert
Kameraauswahl
- Öffnen Sie RobVision.
- Wählen Sie die angeschlossene Kamera aus.
Kalibrierwerkzeug
Positionieren Sie das Kalibrierwerkzeug auf dem Tisch und bewegen Sie es während der gesamten Kalibrierung nicht.
Neue Kalibrierung starten
- Klicken Sie auf Start New Calibration.
- Wählen Sie die Methode Robot Mount.
Roboter positionieren und Bild aufnehmen
- Bewegen Sie den Roboter so, dass die Kamera das Kalibrierbrett vollständig erfassen kann.
- Prüfen Sie die Sichtbarkeit des Kalibrierbretts, indem Sie ein Bild aufnehmen (Schaltfläche Capture).
- Wenn das Brett vollständig sichtbar ist, klicken Sie auf Calibrate.
- Wiederholen Sie diesen Vorgang, bis 9 verschiedene Posen hinzugefügt sind.
- Prüfen Sie den Kalibrierschritt: Der Kalibrierschritt war erfolgreich, wenn die Ecken des Schachbretts markiert sind.

- War der Kalibrierschritt erfolgreich, klicken Sie auf Next, um zum nächsten Kalibrierschritt zu gelangen
Kalibrierung abschließen
- Schließen Sie das Fenster unten rechts.
- Drücken Sie die Neu-laden-Schaltfläche.
Statische Kamera
Kameraauswahl
- Öffnen Sie RobVision.
- Wählen Sie die angeschlossene Kamera aus, die für die Kalibrierung mit Static Mount konfiguriert ist.
Kalibrierwerkzeug
Montieren Sie das Kalibrierwerkzeug (Schachbrett) sicher am Roboter, nach dem letzten Gelenk, sodass es stabil sitzt und sich bei Bewegungen nicht verschiebt.
Neue Kalibrierung starten
- Klicken Sie auf Start New Calibration.
- Wählen Sie die Methode Static Mount.
Roboter positionieren und Bild aufnehmen
- Bewegen Sie den Roboter in verschiedene Positionen, sodass die statische Kamera das Kalibrierbrett aus verschiedenen Winkeln gut sehen kann.
- Prüfen Sie die Sichtbarkeit des Kalibrierbretts, indem Sie ein Bild aufnehmen (Schaltfläche Capture).
- Wenn das Brett vollständig sichtbar ist, klicken Sie auf Calibrate.
- Prüfen Sie den Kalibrierschritt: Der Kalibrierschritt war erfolgreich, wenn die Ecken des Schachbretts markiert sind.

- War der Kalibrierschritt erfolgreich, klicken Sie auf Next, um zum nächsten Kalibrierschritt zu gelangen
Kalibrierung abschließen
- Schließen Sie das Fenster unten rechts.
- Drücken Sie die Neu-laden-Schaltfläche
Bewertung der Kalibrierung
Die Kalibriergenauigkeit sollte bei 3 mm oder weniger liegen. Wird dieser Schwellwert überschritten, setzen Sie die Kalibrierung zurück und fügen Sie neue Posen hinzu, um die Genauigkeit zu verbessern. Achten Sie darauf, dass das Schachbrett nah genug an der Kamera positioniert ist, damit die Kalibrierung gelingt.
Wird ein gleichbleibender Versatz beobachtet, können Sie die Genauigkeit feinjustieren, indem Sie einen Offset in der Greifpose anwenden
Wichtig: Achten Sie darauf, dass die Posen des Roboters in Position und Orientierung deutlich variieren und dass das Kalibrierbrett für optimale Ergebnisse immer vollständig für die Kamera sichtbar ist.
Neukalibrierung
Befolgen Sie diese Schritte, um die automatische Neukalibrierung sicher und genau durchzuführen. Gehen Sie besonders bei der ersten Neukalibrierung vorsichtig vor, um mögliche Kollisionen zu vermeiden.
- Geschwindigkeit anpassen
Setzen Sie die globale Geschwindigkeit des Roboters auf 20 %, um einen sicheren Ablauf der Neukalibrierung zu gewährleisten. - Automatische Neukalibrierung starten
Klicken Sie auf Recalibrate, um die automatische Kalibrierung zu starten.
Der Roboter fährt automatisch die zuvor gespeicherten Posen an und nimmt neue Bilder für die Kalibrierung auf. - Ergebnisse prüfen
Drücken Sie die Neu-laden-Schaltfläche, um die Kalibrierergebnisse anzusehen.
Lösungseinrichtung
- RobVision öffnen
- Starten Sie RobVision und wechseln Sie zum Tab Solution.
- Neue Lösung anlegen
Klicken Sie auf die Schaltfläche Add New Solution, um eine neue Lösung hinzuzufügen.
Geben Sie einen Namen für die Lösung ein. - Kamera auswählen
Wählen Sie die zu verwendende Kamera. - Objekt auswählen
Wählen Sie das Objekt, das gegriffen werden soll. - Region of Interest
Optional können Sie das Sichtfeld einschränken, indem Sie eine oder mehrere Regions of Interest (ROIs) definieren. Jede Greifpose außerhalb aller ROIs wird verworfen. Um eine ROI festzulegen, klicken Sie auf Add Region of Interest. Es öffnet sich ein Dialog, in dem Sie die ROI angeben können.
Die Region of Interest ist als Quader im Koordinatensystem der Kamera definiert (RGB-Frame, siehe unten). Der Quader wird über die folgenden Parameter beschrieben. Als Hilfestellung wird eine 3D-Darstellung der letzten Kameraaufnahme angezeigt, in der sich die ROI setzen lässt.
- Reference Position: Die Position einer Ecke des Quaders.
- Vector to the Opposite Corner: Der Versatz von der Referenzposition zur gegenüberliegenden Ecke.


- Greifpose
Jedes Objekt wird am vorhergesagten Keypoint gegriffen. Um diese Greifposition zu verschieben, klicken Sie auf „Edit Grasping Pose“. Es öffnet sich ein 3D-Editor, in dem Sie die Greifposition am 3D-Modell des Objekts verschieben können. Für eine genauere Position können auch exakte Zahlenwerte eingegeben werden. Da der Grasping Pose Selector ein 3D-Modell des Objekts benötigt, werden nur CAD-Picking-Projekte unterstützt. Für abweichende Greifposen in Label-Picking-Projekten verwenden Sie den Modus „Detection Only“ und passen die Greifpose mit Variable-Nodes an.
In diesem Beispiel ist der Würfel das zu greifende Objekt, das runde Objekt symbolisiert den Greifer.

Erweiterte Einstellungen
Posenfilter
- Max Tilt:
Der Neigungswinkel ist die Differenz zwischen der Ausrichtung der z-Achse der Kamera zum Zeitpunkt der Bildaufnahme und der Ausrichtung der z-Achse der berechneten Greifpose. Überschreitet dieser Winkel die festgelegte maximale Neigung, verwirft das System die vorgeschlagene Greifpose.
Stellen Sie sich vor, die Kamera ist über einem Tisch montiert und der Roboter greift von diesem Tisch. Die Begrenzung des Neigungswinkels ist entscheidend, um Kollisionen des Roboterarms zu vermeiden. Eine minimale Neigung (linkes Bild) zeigt den Roboter, wie er gerade nach unten greift, ausgerichtet an der z-Achse der Kamera. Eine kleine Neigung (mittleres Bild) kann in Ordnung sein, eine große Neigung (rechtes Bild) birgt jedoch Kollisionsgefahr.



- Distance Filter
Bei aktiviertem Abstandsfilter werden erkannte Objekte nicht gegriffen, wenn sich ein anderes Objekt innerhalb des angegebenen Abstands zur Greifposition des Objekts befindet.
Einstellungen der Posenschätzung
- Grasping Pose Override
Die Funktion Grasping Pose Override erlaubt es, die gewünschte Orientierung der Greifpose vorzugeben. Das kann Ihr Roboterprogramm deutlich beschleunigen, da häufige Orientierungswechsel des Endeffektors die Gesamtbewegung verlangsamen. Um die Funktion zu nutzen, bringen Sie zunächst den Endeffektor des Roboters in die richtige Orientierung. Drücken Sie anschließend Apply Current Pose, um diese Konfiguration zu speichern.
- Picking Priority
Hier können Sie wählen, in welcher Reihenfolge die Objekte gegriffen werden, wenn mehr als ein Objekt erkannt wird. Distance to Center bevorzugt Objekte, die näher an der Bildmitte liegen. Confidence bevorzugt Objekte mit höheren Konfidenzwerten aus dem Erkennungsmodell.
Axis Priority ist eine mächtige Option, mit der Sie die Sortierreihenfolge anhand der Objektpositionen entlang bestimmter Achsen festlegen können — zum Beispiel, wenn Objekte entlang eines Förderbands ausgerichtet oder in einer Reihe angeordnet sind. Die Objekte werden entsprechend ihrer Position entlang der gewählten Achsen sortiert, gemäß der festgelegten Prioritätsreihenfolge.
Für jede Achse vergleicht der Algorithmus die Objektpositionen (wahlweise im Kamera- oder im Roboter-Frame). Ist die Differenz zwischen zwei Objekten größer als die angegebene Toleranz, wird die Sortierung durch die gewählte Richtung bestimmt:
- Ascending: Objekte mit kleineren Koordinatenwerten kommen zuerst.
- Descending: Objekte mit größeren Koordinatenwerten kommen zuerst.
Liegen zwei Objekte auf einer Achse innerhalb der Toleranz, wird die nächste Achse der Prioritätsliste ausgewertet. Liegen alle Achsen innerhalb der Toleranz, gelten die Objekte als gleichrangig.
Das ermöglicht eine feingranulare Steuerung des Greifverhaltens und ist ideal für strukturierte Aufbauten, in denen die räumliche Ordnung zählt.

In diesem Beispiel beginnt die Sortierung mit der Z-Achse (erste Priorität). Alle Objekte liegen auf derselben Höhe, daher geht der Algorithmus zur X-Achse über. Die Objekte 1, 2 und 3 haben nahezu dieselbe X-Position — innerhalb der festgelegten Toleranz —, sie gelten auf dieser Achse also als gleichrangig. Die nächste Prioritätsachse ist Y, wo Objekt 1 den kleinsten Y-Wert hat und daher zuerst kommt.
Kleine Abweichungen durch ungenaue Teile, Größenunterschiede oder Messrauschen werden über die Einstellung Toleranz aufgefangen, die verhindert, dass unerhebliche Abweichungen die Sortierreihenfolge beeinflussen.
- Pick from defined surface
Alternativ können Sie, statt die Höhe der Greifpose über den Tiefensensor zu schätzen, eine feste Ebene definieren, die die Oberfläche des Objekts repräsentiert. Ist diese Ebene aktiviert, schätzt das System die Höhe nicht mehr über den Tiefensensor. Das bedeutet, dass gestapelte Objekte nicht erkannt werden, da das System nur Objekte berücksichtigt, die auf der definierten Ebene liegen.
Um diese Ebene zu definieren, lernen Sie dem System drei Positionen ein. Diese Positionen sollen die Ebene abbilden, auf der der Roboter die Objekte greifen soll (also die Oberseite). Eine Methode ist, drei Objekte an die Ecken der gewünschten Ebene zu legen und den TCP (Tool Center Point) des Roboters zur Position jedes Objekts zu bewegen. Achten Sie darauf, dass die Höhe dieser Positionen der gewünschten Greifhöhe für die Objekte entspricht..
- Pixel radius depth estimation
Dieser Wert legt fest, wie viele Pixel rund um den Greifpunkt für die Tiefenschätzung berücksichtigt werden. Mehr Pixel führen in der Regel zu einem besseren Mittelwert, besonders bei verrauschten Tiefendaten. Geometrie und Größe des Objekts müssen dabei berücksichtigt werden.
- Pose estimation refinement
Sie können Pose estimation refinement aktivieren, um nach der ersten Posenschätzung eine auf Punktwolken-Matching basierende Verfeinerung (ICP) durchzuführen. Das ist nur für Objekte mit CAD-Daten relevant und kann zu besseren Ergebnissen führen; in den meisten Fällen genügt jedoch die erste Posenschätzung.
Modellkonfiguration
- Confidence Threshold
Damit wird die Konfidenzschwelle für das Erkennungsmodell festgelegt. Bei einem höheren Wert muss das Modell sicherer sein, um ein Objekt zu erkennen, wodurch mehr Objekte mit höherer Unsicherheit herausgefiltert werden.
Längenmessung
- Length Measurement
Bei aktivierter Längenmessung wird jedes erkannte Objekt entlang seiner beiden Hauptachsen vermessen, woraus sich ein Breiten- und ein Höhenwert ergeben. Auf diese Werte kann über eine Variable im Flow zugegriffen werden.