Augmented Reality

Erweiterte Realität

Augmented Reality (AR) ermöglicht es, Elemente einer RoboDK Station über ein Eingangsvideo oder einen Live-Video-Feed zu legen.

Diese Funktion ist in RoboDK verfügbar, wenn Sie das Add-in für den Bildbearbeitungseditor aktivieren.

Hinweis: Wenden Sie sich an RoboDK, um Zugang zum Bildbearbeitungs-Editor Add-in zu erhalten.

Die Funktionen des Bildbearbeitungseditors können aktiviert werden, indem Sie zu ExtrasàAdd-In Manager navigieren und den Bildbearbeitungseditor aktivieren.

Augmented Reality - Bild 1

Wenn das Bildbearbeitungs-Editor Add-in aktiviert ist, muss die Station nun für Augmented Reality vorbereitet werden. Die Schritte, die für ein erfolgreiches AR-Rendering erforderlich sind, lassen sich in 3 Abschnitten zusammenfassen:

1.Wählen und erstellen Sie eine Passermarke. Importieren Sie die Markierung in RoboDK.

2.Erstellen Sie eine simulierte Kamera in RoboDK.

3.Erstellen Sie eine Erkennungspipeline.

Wählen und erstellen Sie eine Passermarke

Das Augmented Reality Add-in erfordert die Verwendung von Markern, um die Kameraposition und die Flugbahn zu schätzen.

RoboDK unterstützt 4 Arten von OpenCV-Markern: Aruco, Chessboard, Charuco Diamond bzw. Charucoboard, wie in den folgenden Bildern gezeigt:

Augmented Reality - Bild 2Augmented Reality - Bild 3Augmented Reality - Bild 4Augmented Reality - Bild 5

Bei der Auswahl eines Markers gibt es viele Faktoren zu berücksichtigen. Die Größe der Station, die Kameraauflösung, die Framerate, die Bewegung, die Beleuchtung und die Verdeckung sind wichtige Faktoren, die Sie berücksichtigen müssen. Eine große Station mit einer festen, nicht verdeckten Kamera ( ) profitiert zum Beispiel sehr von der Verwendung eines Aruco-Markers, da die einzelne Marker-ID aus einer viel größeren Entfernung erkannt werden kann als die 4 oder mehr IDs auf einem Charuco Diamond oder Charucoboard Marker derselben Größe, und das Fehlen von Bewegungsunschärfe und Verdeckung garantiert, dass der Marker jederzeit erkannt wird. Wenn der Marker gelegentlich teilweise verdeckt ist, sollte das Charucoboard gewählt werden, da nicht alle IDs erkannt werden müssen, um die Kameraposition zu bestimmen. Nachfolgend finden Sie eine Tabelle, die Ihnen bei der Auswahl der Marker-Typen hilft:

Aruco

Charuco Diamant

Charucoboard

Schachbrett

 

Profis

- Leichteres Einrichten

- Schnellste Renderzeit

- Ausgewogenste Option

(Genauigkeit/Renderzeit)

- Widerstandsfähig gegen partielle Okklusion

- Am genauesten

- Kamera-Kalibrierung

 

Nachteile

 

(Die Marker müssen jederzeit im Blickfeld der Kamera bleiben)

 

- Verliert die Verfolgung, wenn er verdeckt ist

- Am wenigsten akkurate Pose

- Verliert die Verfolgung, wenn er verdeckt ist

- Schwieriger einzurichten

- Lange Renderzeiten

- Nicht gut mit Live AR

- Schwerer zu erkennen

- Kann nicht verdeckt werden

 

 

 

Vorgeschlagene Anwendungen

- Hohe FPS / Niedrig aufgelöste Live AR

- Lange Videos

- Unverfälschte Videos

- Feste Kamera

- Große Bahnhöfe

- Bessere Verfolgung für Live AR

- Hochauflösende Videos

- Zeitlupenfunktion

- Video mit teilweiser Verdeckung des Markers

- Videos mit hohen Anforderungen an die Genauigkeit der Pose.

- Kamera-Kalibrierung

(Das Schachbrett kann verwendet werden, um benutzerdefinierte Kamerakalibrierungsdateien zu erstellen, wenn die generische Kalibrierung nicht ausreicht)

Sobald Sie den passenden Marker ausgewählt haben, können Sie die IDs der Marker, die Größe und das Layout des Schachbretts sowie die Quadratgröße anpassen

Die Markierung muss dann gespeichert und gedruckt werden. Mit der Funktion "Speichern unter..." können Sie eine PNG-Datei der Markierung auf Ihrem Computer speichern, die Sie dann einfach in RoboDK importieren können. Um die Markierung zu drucken, können Sie die Option "In die Zwischenablage kopieren" verwenden, um das Bild schnell in einen Text-/Bildeditor wie Word oder GIMP zu importieren, um es auf die richtige Größe zu skalieren und zu drucken.

Hinweis: Um die Größe der resultierenden Markierung zu berechnen, muss das Pixelfeld in mm umgerechnet werden. Die Umrechnung zwischen Pixeln und mm in RoboDK lautet 1px = 0,265mm.

Importieren Sie die Markierung

Sie sollten die Markierung in RoboDK importieren, um anzugeben, wo sich die Markierung in Bezug auf den Roboter und andere Objekte befindet.

Befolgen Sie diese Schritte, um den Marker richtig zu platzieren:

1.Erstellen Sie in Ihrer RoboDK Station einen neuen Referenzrahmen.

2.Klicken Sie mit der rechten Maustaste auf den neuen Referenzrahmen und wählen Sie "Element hinzufügen...".

3.Suchen und wählen Sie die mit dem Fiducial Marker Generator erstellte PNG-Markierung.

4.Passen Sie den Maßstab der virtuellen Markierung an die Größe der realen Markierung an:

Beispiel: Der Charuco Diamond Marker ist standardmäßig 106,186 mm x 106,186 mm groß. Wenn die Größe der gedruckten Markierung 280 mm x 280 mm beträgt, muss ein Skalierungsfaktor von 2,63688 → ( 280 / 106,186 ) angewendet werden. Dies können Sie tun, indem Sie auf das Markierungsobjekt doppelklicken und Mehr Optionen à Maßstab anwenden wählen.

5.Richten Sie die Mitte der Markierung am Ursprung des Referenzrahmens aus, wobei die Y-Achse auf die obere ID zeigt.

Beispiel: Um die Markierung zu verschieben, doppelklicken Sie auf das Markierungsobjekt und ändern Sie die Position des Objekts in Bezug auf den Markierungsrahmen. In unserem Beispiel musste die Markierung um 140 mm in X-Richtung verschoben, um 140 mm in Y-Richtung verschoben und um 180° um die Z-Achse gedreht werden. In der Abbildung unten sehen Sie ein Beispiel für die richtige Position.

Augmented Reality - Bild 6

6.Platzieren Sie den Markierungsrahmen in der Station, um die Stationsobjekte relativ zur Markierung auszurichten.

Einrichten der simulierten Kamera

Um die Assets der Station genau über den Video-Feed zu legen, muss eine simulierte Kamera erstellt werden. Diese simulierte Kamera verwendet die Kameraposition und die Flugbahn, die mit Hilfe der Referenzmarken berechnet wurden, um die RoboDK-Station aus dem gleichen Winkel, der gleichen Entfernung und der gleichen Flugbahn wie das Eingangsvideo aufzunehmen.

Diese simulierte Kameraauflösung muss mit dem Eingangsvideo übereinstimmen, damit die Skalierung der Marker korrekt ist. Die Schritte zum Hinzufügen einer virtuellen Kamera zur Station werden im Folgenden beschrieben:

1.Fügen Sie eine Kamera zu Ihrer Station hinzu, indem Sie in der Symbolleiste Bildbearbeitungseditor à RoboDK Kamera hinzufügen wählen.

2.Klicken Sie mit der rechten Maustaste auf die Kamera oder den Kamera-Feed und wählen Sie "Kameraeinstellungen".

3.Passen Sie die Einstellungen der virtuellen Kamera an die Auflösung des Eingangsvideos an.

4.Richten Sie den Referenzrahmen so aus, dass die simulierte Kamera den virtuellen Aruco-Marker sehen kann.

Augmented Reality - Bild 7

Um die besten Ergebnisse zu erzielen, sollten Sie bei der Aufnahme des physischen Eingangsvideos die folgenden Punkte beachten:

1.Stellen Sie den Marker auf eine ebene Fläche in einer gut beleuchteten Umgebung. Um optimale Ergebnisse zu erzielen, berücksichtigen Sie die Größe und den Abstand der Objekte in der virtuellen Station in Bezug auf den Marker und die Aufnahmeumgebung.

2.Konsistente Kameraeinstellungen (echte und simulierte Kameras müssen die gleichen Auflösungseinstellungen haben).

3.Lesbare Aruco-IDs (Die Kamera muss die IDs lesbar halten. Was Sie vermeiden sollten: Schnelles/verwackeltes Filmmaterial, niedrige Kameraauflösung, großer Abstand der Marker zur Kamera).

4.Stellen Sie sicher, dass das Video im Format .mp4 oder .avi vorliegt.

Erstellen Sie eine benutzerdefinierte Kamerakalibrierungsdatei

Um eine benutzerdefinierte Kamerakalibrierungsdatei zu erstellen, drucken Sie ein Schachbrett aus und nehmen Sie etwa 10-20 Bilder des Schachbretts mit der Kamera auf, wobei Sie die gleichen Einstellungen wie beim Filmen eines Videos verwenden.

Jedes Bild sollte das gesamte Schachbrett enthalten. Die Bilder sollten die Ausrichtung und Position des Schachbretts in jedem Bild variieren.

Sobald die Bilder aufgenommen wurden, navigieren Sie zu Bildbearbeitungseditor à Aus Dateien kalibrieren... und füllen die Schachbrettparameter aus. Wählen Sie dann die Bilder aus. RoboDK erzeugt eine Kalibrierungsdatei, die Sie bei der Erstellung einer Pipeline verwenden können.

Erstellen Sie eine Erkennungspipeline

Der letzte Schritt bei der Vorbereitung der RoboDK-Station für AR besteht darin, eine Pipeline zur Erkennung der Referenzmarkierungen zu erstellen. Diese Erkennungspipeline wird verwendet, um die Pose aus den realen und virtuellen Markierungen zu berechnen und die Assets der simulierten RoboDK-Kamera über das Eingangsvideo zu legen.

Folgen Sie diesen Schritten, um eine Erkennungspipeline zu erstellen:

1.Navigieren Sie zu Bildbearbeitungseditor à Bildbearbeitungseditor in der Symbolleiste.

2.Wählen Sie die simulierte RoboDK Kamera, wenn Sie Video AR verwenden, für Camera AR wählen Sie die Kameraquelle.

3.Wählen Sie Ihren Marker unter Detektoren à Charuco Diamantmarker.

4.Legen Sie die erforderlichen Parameter auf der Grundlage der Abmessungen der physischen Marker fest.

5.Legen Sie unter Gerät die Kalibrierungsdatei fest. Es wird empfohlen, die allgemeine Kalibrierung zu verwenden.

6.Speichern Sie das Pipeline-Projekt unter Datei à Projekt speichern unter

Nachdem die Station vorbereitet, ein Eingangsvideo aufgenommen und eine Verarbeitungspipeline gespeichert wurde, können wir mit der Erstellung von AR-Videos beginnen. In den nächsten Abschnitten erfahren Sie, wie Sie AR-Videos und Live-AR-Renderings erstellen. Außerdem finden Sie einen Abschnitt zur Fehlerbehebung, der Ihnen hilft, unerwünschte Renderings zu korrigieren.

Erstellen Sie eine AR aus einem Video-Feed

Das Video AR-Tool wird verwendet, um ein AR-Overlay über ein zuvor aufgenommenes Video zu legen. Dies ist ideal für Demonstrations- oder Werbevideos. Der Sender kann während des Renderns des Videos geändert werden, und die Änderungen werden sofort übernommen.

Folgen Sie diesen Schritten, um AR-Überlagerungseffekte in einem Video zu erstellen:

1.Blenden Sie alle Objekte in Ihrer Station aus, die nicht in das AR-Video gerendert werden sollen.

2.Wählen Sie Bildbearbeitungseditor → AugmentedReality (Video).

3.Wenn mehrere Pipelines gespeichert sind, wählen Sie die richtige Pipeline für Ihre Markierung.

4.Wählen Sie den Referenzrahmen, der die Markierung enthält.

5.Wählen Sie die Eingabevideodatei aus.

6.Wählen Sie den Speicherort und den Namen des Ausgabevideos.

7.Überwachen Sie den Rendering-Prozess und nehmen Sie alle notwendigen Änderungen vor, um die gewünschte Qualität zu erreichen.

8.Sobald das Rendering des Videos abgeschlossen ist, können Sie den AR-Kamerarahmen schließen.

Mixed Reality

Mixed Reality (MR) in RoboDK bedeutet, dass der RoboDK-Hintergrund durch ein Live-Passthrough-Feed vom VR-Headset ersetzt wird. In RoboDK VR können Sie so Ihre lokale Umgebung, SteamVR und RoboDK mischen.

Anforderungen:

    Quest 2 / Quest 3 VR-Headset und ein VR-fähiger PC

    Virtueller Desktop + Virtueller Desktop Streamer

    SteamVR + Meta Quest Link

Folgen Sie diesen Schritten, um Mixed Reality zu aktivieren:

1. Aktivieren Sie den Entwicklermodus des Quest 2/3:

Wie aktiviert man den Entwicklermodus auf Meta Quest 3? (vr-expert.com)

2.Starten Sie Meta Quest Link auf Ihrem PC und folgen Sie den Anweisungen, um Ihr Headset mit dem PC zu verbinden:

Einrichten und Verbinden von Meta Quest Link und Air Link | Meta Store

3.Verbinden Sie sich mit Ihrem PC über Virtual Desktop

4.Aktivieren Sie in der Anwendung Virtual Desktop die VR Passthrough API.

5. Ändern Sie die VR-Passthrough-Einstellungen: Setzen Sie die Farben der Passthrough-Maske auf 0, 255, 0 (Grün).

Augmented Reality - Bild 8

6.Setzen Sie in RoboDK die Optionen für den oberen und unteren Hintergrund auf denselben Grünton:

Extras -> Optionen -> Anzeige -> Hintergrundfarbe -> Auf 0, 255, 0 (Grün) setzen

Augmented Reality - Bild 9

7.Starten Sie SteamVR über Virtual Desktop.

8.Starten Sie RoboDK und aktivieren Sie den VR-Modus: Verbinden Sie Schließen Sie das VR-Headset an.