DE102023105347A1 - Enrichment of classified objects in room scans with real-time data through radio and optical trackers - Google Patents
Enrichment of classified objects in room scans with real-time data through radio and optical trackers Download PDFInfo
- Publication number
- DE102023105347A1 DE102023105347A1 DE102023105347.7A DE102023105347A DE102023105347A1 DE 102023105347 A1 DE102023105347 A1 DE 102023105347A1 DE 102023105347 A DE102023105347 A DE 102023105347A DE 102023105347 A1 DE102023105347 A1 DE 102023105347A1
- Authority
- DE
- Germany
- Prior art keywords
- room
- objects
- user
- virtual
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
1. Verfahren zum Scannen eines Raumes, wobei das Verfahren ein Scannen ein oder mehrerer realer Objekte des Raumes umfasst, wobei das Scannen eines Objekts (84, 85) ein Erfassen einer Anzahl von Vermessungspunkten (89) des realen Objekts (84, 85) mittels einer Geste oder eines Hand-Controllers (40, 42) umfasst und wobei die realen Objekte mit jeweiligen Funk- oder Optik-Trackern versehen werden, die in ihrer Position erkannt werden. 1. A method for scanning a room, the method comprising scanning one or more real objects of the room, wherein scanning an object (84, 85) comprises detecting a number of survey points (89) of the real object (84, 85) by means of a gesture or a hand controller (40, 42), and wherein the real objects are provided with respective radio or optical trackers which are recognized in their position.
Description
TECHNISCHES GEBIETTECHNICAL AREA
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Verfahren und Vorrichtungen und Systeme für Virtual Reality (VR) und Augmented Reality (AR) zur Darstellung auf einem Display eines elektronischen Geräts und insbesondere auf die dynamische Erzeugung solcher VR/AR-Erfahrungen.The present disclosure relates generally to methods and apparatus and systems for virtual reality (VR) and augmented reality (AR) for presentation on a display of an electronic device, and more particularly to the dynamic generation of such VR/AR experiences.
TECHNISCHER HINTERGRUNDTECHNICAL BACKGROUND
Als „virtuelle Realität“ (englisch: Virtual Reality, kurz VR) wird eine computergenerierte Wirklichkeit mit Bild (3D) und ggf. auch Ton bezeichnet. VR/AR-Systeme ermöglichen es dem Benutzer, in unterschiedlichem Maße in eine simulierte virtuelle Umgebung einzutauchen. Eine VR-Umgebung bezieht sich auf eine ganz oder teilweise simulierte Umgebung, die ein Benutzer über ein elektronisches System wahrnehmen und/oder mit der er interagieren kann. Unter dem Begriff „erweiterter Realität“ (englisch: „Augmented Reality“, AR, oder auch „Extenden Reallity“, XR) versteht man beispielsweise die computergestützte Erweiterung der Realitätswahrnehmung. Eine VR/AR-Umgebung umfasst beispielsweise virtuelle Szenen und virtuelle Objekte, die ein Benutzer mittels eines elektronischen Displays wahrnehmen und/oder mit denen er, beispielsweise durch Simulation der Anwesenheit des Benutzers in der computergenerierten Umgebung, interagieren kann. Die VR/AR-Umgebung kann Teil eines Videospiels sein und kann beispielsweise die Szene eines Videospiels darstellen.“Virtual reality” (VR for short) is a computer-generated reality with images (3D) and possibly also sound. VR/AR systems enable the user to immerse themselves in a simulated virtual environment to varying degrees. A VR environment refers to a fully or partially simulated environment that a user can perceive and/or interact with via an electronic system. The term “augmented reality” (AR, or “extended reality” (XR) refers, for example, to the computer-aided extension of the perception of reality. A VR/AR environment includes, for example, virtual scenes and virtual objects that a user can perceive via an electronic display and/or interact with, for example by simulating the user’s presence in the computer-generated environment. The VR/AR environment can be part of a video game and can, for example, represent the scene from a video game.
Eine VR-Erfahrung wird einem Nutzer beispielsweise durch ein am Kopf getragenes Head-Mounted-Display vermittelt, das auch als Headset oder VR-Brille bezeichnet wird. Eine „erweiterte Realität“ (AR oder XR) wird beispielsweise durch eine sogenannte AR-Brille vermittelt, bei der eine optische Projektion auf ein teildurchsichtiges Glas eingeblendet wird, durch welches auch die natürlichen physischen Objekte betrachtet werden („see-through“ HMD).A VR experience is provided to a user, for example, by a head-mounted display worn on the head, which is also known as a headset or VR glasses. An "augmented reality" (AR or XR), for example, is provided by so-called AR glasses, in which an optical projection is displayed on a partially transparent glass through which the natural physical objects are also viewed ("see-through" HMD).
Eine virtuelle Realität (VR) oder erweiterte Realität (AR) kann aber auch durch ein Smartphone oder einen Tablet-Computer vermittelt werden, indem virtuell erzeugte Objekte den Bildern aus Smartphone- oder Tabletkameras überlagert werden und diese ergänzen oder ganz- oder teilweise ersetzen.Virtual reality (VR) or augmented reality (AR) can also be conveyed through a smartphone or tablet computer by superimposing virtually generated objects on the images from smartphone or tablet cameras, supplementing them or replacing them in whole or in part.
Um dem Benutzer ein VR/AR-Erlebnis zu bieten, werden physische sensorische Inhalte, die einer physischen Umgebung in der Nähe des Benutzers entsprechen, durch virtuelle Inhalte ersetzt, oder - bei AR-Umgebungen - um virtuelle Inhalte ergänzt.To provide the user with a VR/AR experience, physical sensory content corresponding to a physical environment close to the user is replaced by virtual content or, in the case of AR environments, supplemented by virtual content.
Durch aus dem Stand der Technik bekannte automatische Scanner kann der Benutzer beispielsweise physische Objekte und Ebenen scannen, um sie durch virtuelle Inhalte zu ersetzen. Er richtet den Scanner aus, und Kameras erkennen automatisch physische Objekte und Ebenen und wandeln sie in Datenpunkte um. Der Nachteil dieser Technologie besteht darin, dass sie spezielle Geräte wie LIDAR erfordert, die bei Verbrauchergeräten nicht weit verbreitet sind. Außerdem ist das automatische Scannen nicht sehr zuverlässig, wenn es um Vollständigkeit und Präzision geht. Letzteres ist ein besonders wichtiger Faktor, da bei der Entwicklung eines benutzerfreundlichen Systems haptisches Feedback eine entscheidende Rolle spielt.For example, state-of-the-art automated scanners allow the user to scan physical objects and planes to replace them with virtual content. They align the scanner, and cameras automatically detect physical objects and planes and convert them into data points. The disadvantage of this technology is that it requires specialized equipment such as LIDAR, which is not widely used in consumer devices. In addition, automated scanning is not very reliable when it comes to completeness and precision. The latter is a particularly important factor because haptic feedback plays a crucial role in developing a user-friendly system.
Hiervon ausgehend liegt der Erfindung die Aufgabe zu Grunde die Nutzererfahrung in VR/AR-Umgebungen zu verbessern.Based on this, the invention is based on the task of improving the user experience in VR/AR environments.
Diese Aufgabe wird durch das Verfahren nach Anspruch 1 und die Vorrichtung nach Anspruch 10 gelöst. Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen und der folgenden Beschreibung bevorzugter Ausführungsbeispiele der vorliegenden Erfindung.This object is achieved by the method according to
Die Ausführungsbeispiele zeigen ein Verfahren zum Scannen eines Raumes, wobei das Verfahren ein Scannen ein oder mehrerer realer Objekte des Raumes umfasst, wobei das Scannen eines Objekts ein Erfassen einer Anzahl von Vermessungspunkten des realen Objekts mittels einer Geste oder eines Hand-Controllers umfasst und wobei die realen Objekte mit jeweiligen Funk- oder Optik-Trackern versehen werden, die in ihrer Position erkannt werden.The embodiments show a method for scanning a room, wherein the method comprises scanning one or more real objects of the room, wherein the scanning of an object comprises detecting a number of measurement points of the real object by means of a gesture or a hand controller, and wherein the real objects are provided with respective radio or optical trackers which are recognized in their position.
Ein Funk-Tracker bestimmt seine Position beispielsweise über Funktechniken wie Bluetooth und/oder Ultrawideband und sendet diese an ein VR/AR-Gerät. Ein Tracker kann ferner auch eine inertiale Messeinheit (IMU) nutzen, um seine Position und/oder Ausrichtung im Raum zu ermitteln und diese an VR/AR-Gerät zu übermitteln.A radio tracker determines its position using radio technologies such as Bluetooth and/or ultrawideband and sends this to a VR/AR device. A tracker can also be an inertial measuring unit (IMU) to determine its position and/or orientation in space and transmit this to the VR/AR device.
Die Position eines optischen Trackers kann beispielsweise mittels der Kamera bzw. der Kameras eines Smartphones oder eines Headsets (z.B. VR/AR-Brille) ermittelt werden. Dazu können LED's am Tracker vorgesehen sein, deren Position durch das Headset aus den Kameradaten ermittelt werden und aus deren Position das VR/AR-Gerät die Position des optischen Trackers ermitteln kann. Auch kann die Position eines optischen Trackers aus den Kameradaten einer zum Headset externen Kamera ermittelt werden, die beispielsweise mit einer VR/AR-Konsole oder mit dem Headset in Kommunikation steht. Nach einer weiteren alternativen Ausführungsform kann ein optischer Tracker auch mit einer oder mehreren Kameras oder Tiefensensoren ausgerüstet sein, mittels derer sich der Tracker durch einen Blick nach außen im Raum verortet, wobei Techniken wie SLAM („Simultaneous Localization and Mapping“) oder dergleichen zur Anwendung kommen können.The position of an optical tracker can be determined, for example, using the camera or cameras of a smartphone or a headset (e.g. VR/AR glasses). For this purpose, LEDs can be provided on the tracker, the position of which is determined by the headset from the camera data and from whose position the VR/AR device can determine the position of the optical tracker. The position of an optical tracker can also be determined from the camera data of a camera external to the headset, which is in communication with a VR/AR console or with the headset, for example. According to another alternative embodiment, an optical tracker can also be equipped with one or more cameras or depth sensors, by means of which the tracker locates itself in space by looking outside, whereby techniques such as SLAM ("Simultaneous Localization and Mapping") or the like can be used.
Bei dem Raum kann es sich beispielsweise um einen Innenraum eines Gebäudes handeln, oder aber auch um einen Außenraum.The room can, for example, be an interior space of a building or an outdoor space.
Bei dem zu scannenden Objekt kann es sich beispielsweise um ein Sofa, einen Sitz, einen Tisch, einen Stuhl, ein Regal, einen Schrank, eine Pflanze, ein Bett, oder ein Fenster handeln.The object to be scanned can be, for example, a sofa, a seat, a table, a chair, a shelf, a cupboard, a plant, a bed, or a window.
Bei einem Vermessungspunkt kann es sich beispielsweise um eine Ecke des Objektes (z.B. um eine Tischecke) oder einen Punkt an einer Ecke einer Wand handeln. Mit dem hier beschriebenen Verfahren ist es beispielsweise möglich, leistungsstarke Entwicklungswerkzeuge bereitzustellen, die es den Benutzern ermöglichen, kreativ und effektiv auf solchen Scans aufzubauen. Die erstellten Raumscans können sowohl für die interne Entwicklung dieser Werkzeuge dienen, als auch für die Bereitstellung eines effektiven Pakets für die Benutzer der Entwicklungswerkzeuge. Auch Endanwender von Applikationen (wie beispielsweise Spielen oder dergleichen) können das Scanning verwenden, um damit virtuelle Räume zu gestalten.A survey point can be, for example, a corner of the object (e.g. a corner of a table) or a point on a corner of a wall. With the method described here, it is possible, for example, to provide powerful development tools that allow users to build creatively and effectively on such scans. The room scans created can be used both for the internal development of these tools and for providing an effective package for the users of the development tools. End users of applications (such as games or the like) can also use scanning to design virtual rooms.
Das Verfahren zum Scannen eines virtuellen Raumes kann beispielsweise ein manuelles Scannen der Objekte bzw. der Wände durch Berührung ermöglichen.The method for scanning a virtual room can, for example, enable manual scanning of objects or walls by touch.
Mittels des manuellen Scannens kann der Benutzer relevante Objekte bzw. Ebenendaten identifizieren und eine Art von Interaktion anbieten, um diese Objekte so genau (und idealerweise so effizient) wie möglich auf Daten abzubilden. Das Verfahren hat den Vorteil, dass es schnell und genau ist und auch bei schlechten Lichtverhältnissen gut funktioniert.Manual scanning allows the user to identify relevant objects or layer data and provide some form of interaction to map those objects to data as accurately (and ideally as efficiently) as possible. The method has the advantage of being fast and accurate and works well even in low light conditions.
Nach einer Ausführungsform umfasst die Geste zum Erfassen eines Vermessungspunktes eines Objekts bzw. einer Wand eine mit einer Hand ausgeführte Zeigegeste des Zeigens auf einen Vermessungspunkt des Objekts bzw. der Wand und eine mit der anderen Hand ausgeführte Bestätigungsgeste, wobei die Position der Hand zum Zeitpunkt des Ausführens der Bestätigungsgeste die erfasste Position des Vermessungspunkts festlegt.According to one embodiment, the gesture for detecting a measurement point of an object or a wall comprises a pointing gesture performed with one hand to point to a measurement point of the object or the wall and a confirmation gesture performed with the other hand, wherein the position of the hand at the time of executing the confirmation gesture determines the detected position of the measurement point.
Diese Vorgehensweise zum manuellen Scannen eines Raumobjekts führt der Benutzer vorzugsweise so aus, dass er dabei das zu scannende Objekt berührt. Dies ermöglicht ein direktes physisches Feedback durch Berühren des realen Objekts mit den Händen.When manually scanning a spatial object, the user preferably performs this procedure by touching the object to be scanned. This enables direct physical feedback by touching the real object with the hands.
Durch das Scannen eines realen Objekts auf Grundlage der erfassten Vermessungspunkte wird ein virtuelles Objekt erzeugt.By scanning a real object based on the recorded survey points, a virtual object is created.
Nach dem Scannen eines Objekts kann auf Grundlage der erfassten Vermessungspunkte des Objekts ein virtueller Kasten um das Objekt erzeugt werden. Auf diese Weise können physische Objekte mit Hilfe von Boxen dargestellt werden. Rechteckige Netze können dabei als repräsentative Daten erstellt werden, wenn der Benutzer ein physisches Objekt zuordnet.After scanning an object, a virtual box can be created around the object based on the object's captured survey points. In this way, physical objects can be represented using boxes. Rectangular meshes can be created as representative data when the user assigns a physical object.
Vorzugsweise ermittelt ein Tracker die Position des zugeordneten realen Objekts im Raum und die vom Tracker ermittelte Position wird auf das verknüpfte virtuelle Objekt übertragen.Preferably, a tracker determines the position of the associated real object in space and the position determined by the tracker is transferred to the linked virtual object.
Ein Tracker kann ferner die Orientierung des zugeordneten realen Objekts im Raum ermitteln und die vom Tracker ermittelte Orientierung kann auf das verknüpfte virtuelle Objekt übertragen werden.A tracker can also determine the orientation of the associated real object in space and the orientation determined by the tracker can be transferred to the linked virtual object.
Beim Erzeugen eines virtuellen Objekts kann ferner die Position der Vermessungspunkte eines gescannten Objekts mit den Positionsinformationen des zugehörigen Trackers verknüpft werden, um den Tracker zu kalibrieren.When creating a virtual object, the position of the survey points of a scanned object can also be linked to the position information of the associated tracker in order to calibrate the tracker.
Gemäß dem Ausführungsbeispiel erfolgt das Scannen des Raumes mittels eines VR/AR-Gerätes, das die jeweiligen Positionen der den Objekten zugeordneten Tracker erkennt.According to the embodiment, the room is scanned using a VR/AR device that detects the respective positions of the trackers assigned to the objects.
Das VR/AR-Gerät kann sich vorzugsweise durch Inside-Out-Tracking im Raum verorten. Obgleich oben Inside-Out-Tracking als bevorzugtes Ausführungsbeispiel beschrieben ist, kann auch Outside-In-Tracking zur Anwendung kommen, bei der Basisstationen mit Kameras im Raum stehen, um das Headset von außen zu tracken. Das Headset hat in diesem Fall beispielsweise Infrarot-Markierungen (wie es Controller z.B. auch haben).The VR/AR device can preferably locate itself in the room using inside-out tracking. Although inside-out tracking is described above as the preferred embodiment, outside-in tracking can also be used, where base stations with cameras are placed in the room to track the headset from the outside. In this case, the headset has infrared markings (like controllers, for example).
In Ausführungsbeispielen wird davon ausgegangen wird, dass ein Objekt entweder statisch oder beweglich ist.In embodiments it is assumed that an object is either static or moving.
Bei dem Verfahren kann ferner eine Klassifizierung der gescannten Objekte erfolgen und die Klassifizierungsinformation können mit den virtuellen Objekten verknüpft werden. Die Klassifizierung der gescannten Objekte kann beispielsweise manuell oder automatisch erfolgen. Beispielsweise kann die Klassifizierungsinformation beim Prozess des Scannens des Raums erfasst werden.The method can also classify the scanned objects and link the classification information to the virtual objects. The classification of the scanned objects can be done manually or automatically, for example. For example, the classification information can be recorded during the process of scanning the room.
Die Ausführungsbeispiele zeigen auch eine Vorrichtung zum Scannen eines Raumes, wobei die Vorrichtung dazu ausgelegt ist, ein Scannen ein oder mehrerer realer Objekte des Raumes durchzuführen, wobei das Scannen eines realen Objekts ein Erfassen einer Anzahl von Vermessungspunkten des realen Objekts mittels einer Geste oder eines Hand-Controllers umfasst und wobei die Vorrichtung dazu ausgelegt ist, Positionsinformationen von jeweiligen Funk- oder Optik-Trackern zu empfangen und diese mit jeweiligen virtuellen Objekt zu verknüpfen.The embodiments also show a device for scanning a room, wherein the device is designed to perform a scan of one or more real objects of the room, wherein the scanning of a real object comprises detecting a number of survey points of the real object by means of a gesture or a hand controller, and wherein the device is designed to receive position information from respective radio or optical trackers and to link this to respective virtual objects.
Die Ausführungsbeispiele zeigen auch ein System mit der obigen Funktionalität, wobei das System beispielsweise eine VR-Konsole und ein Headset aufweist.The embodiments also show a system with the above functionality, wherein the system comprises, for example, a VR console and a headset.
Die Ausführungsbeispiele beziehen sich auch auf ein Computerprogramm, das Programminstruktionen umfasst, welche die hier beschriebenen Verfahren realisieren.The embodiments also relate to a computer program comprising program instructions that implement the methods described here.
Durch die Vorrichtungen und Verfahren, die in den hier beschriebenen Ausführungsbeispielen bereitgestellt werden, wird es dem Benutzer ermöglicht, mit seiner physischen Umgebung zu interagieren und Elemente der realen Welt aus der physischen Umgebung in die virtuelle Umgebung einzubeziehen, deren Position sich analog zur Position zugeordneter realer Objekte verändert.The devices and methods provided in the embodiments described herein enable the user to interact with his physical environment and to incorporate real-world elements from the physical environment into the virtual environment, the position of which changes analogously to the position of associated real objects.
Ausführungsformen werden nun beispielhaft und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
-
1 schematisch die Erstellung von klassifizierten Scans durch Extended-Reality-Geräte zeigt, die sich durch Inside-Out-Tracking im Raum verorten, kombiniert mit dem Prinzip von Funk- oder Optik-Trackern, die durch ein Extended-Reality-Gerät in ihrer Position erkannt werden; -
2 eine schematisierte Darstellung einer beispielhaften Virtual-Reality (VR)-Systemumgebung ist; -
3a -c eine beispielhafte vordefinierte Handgeste zeigen, mittels welcher der Benutzer die Anzeige eines Menüs bewirken kann; -
3d zeigt, wie der Benutzer ein virtuelles Auswahlmenü und eine Handgeste zur Auswahl eines Raumobjekts mittels des Auswahlmenüs virtuell erlebt; -
4a und4b ein Beispiel für eine Zeigegeste der linken Hand und für eine Bestätigungsgeste der rechten Hand darstellen, um einen Eckpunkt eines Objekts oder einer Wand festzulegen; -
5 den Ablauf der Selektion eines bereits erstellten Scans aus einer Menüliste zum Starten eines Benutzererlebnisses zeigt; -
6 zeigt, wie der Benutzer die Eingabe zum Start des Benutzererlebnisses virtuell erlebt. -
7 ein Beispiel eines VR-Erlebnisses darstellt, wie es dem Benutzer nach Auswahl eines Raumscans, oder auch nach Erstellen eines neuen Raumscans, über das Headset geboten wird; -
8a -e einen beispielhaften Prozess des Scannens eines Raumes zeigen; -
9 zeigt, wie der Benutzer das Scannen eines Raumobjekts mittels der oben beschriebenen Handgesten virtuell erlebt; -
10 zeigt, wie der Benutzer das Scannen einer Wand eines Raumes mittels der oben beschriebenen Handgesten virtuell erlebt; -
11 eine beispielhafte Datenstruktur einer gescannten virtuellen Umgebung zeigt, wie sie durch den oben dargestellten Scan-Prozess gewonnen wird; -
12 eine genauere Darstellung der Unterstruktur Raumobjekte_0 der11 des Raums Raum_0 zeigt; -
13a -d schematisch zeigen, wie - sobald Funk- oder Optik-Tracker an realen Objekten platziert werden - diese durch das Extended-Reality-Gerät mit virtuellen Objekten verknüpft werden, um die realen Objekte in ihrer relativen Position zum Gerät zu verfolgen; -
14 schematisch ein virtuelles Objekt, hier in Form eines Würfels, zeigt, das in einem Objektkoordinatensystem definiert ist; -
15a beispielhaft die Verschiebung eines virtuellen Objekts von einer Ausgangsposition in eine Endposition zeigt; und -
15b beispielhaft die Rotation eines virtuellen Objekts von einer Ausgangsposition in eine Endposition zeigt.
-
1 schematically shows the creation of classified scans by extended reality devices that locate themselves in space through inside-out tracking, combined with the principle of radio or optical trackers that are recognized in their position by an extended reality device; -
2 is a schematic representation of an exemplary virtual reality (VR) system environment; -
3a -c show an example predefined hand gesture by which the user can cause a menu to be displayed; -
3d shows how the user virtually experiences a virtual selection menu and a hand gesture for selecting a spatial object using the selection menu; -
4a and4b show an example of a left-hand pointing gesture and a right-hand confirmation gesture to specify a corner point of an object or a wall; -
5 shows the process of selecting an already created scan from a menu list to start a user experience; -
6 shows how the user virtually experiences the input to start the user experience. -
7 represents an example of a VR experience as provided to the user after selecting a room scan, or even after creating a new room scan, via the headset; -
8a -e show an example process of scanning a room; -
9 shows how the user virtually experiences the scanning of a spatial object using the hand gestures described above; -
10 shows how the user virtually experiences scanning a wall of a room using the hand gestures described above; -
11 an example data structure of a scanned virtual environment shows how it is obtained by the scanning process shown above; -
12 a more detailed representation of the substructure Raumobjekte_0 of the11 of the room Room_0; -
13a -d show schematically how - once radio or optical trackers are placed on real objects - these are linked to virtual objects by the extended reality device in order to track the real objects in their relative position to the device; -
14 schematically shows a virtual object, here in the form of a cube, defined in an object coordinate system; -
15a shows, by way of example, the movement of a virtual object from a starting position to a final position; and -
15b shows, as an example, the rotation of a virtual object from a starting position to a final position.
Verbindung von Tracking im Raum mit dem Prinzip von Funk- oder Optik-TrackernCombining tracking in space with the principle of radio or optical trackers
Wie in
VR/AR-SystemumgebungVR/AR system environment
Die VR-Konsole 30 stellt dem Headset 20 Inhalte zur Verfügung, die dem Benutzer als virtuelle Umgebung präsentiert werden. In dem in
Der Speicher 34 speichert eine oder mehrere Anwendungen die, wenn sie von einem Prozessor (z.B. der VR-Einheit 33) ausgeführt werden, virtuelle Inhalte zur Präsentation für den Benutzer erzeugen, sowie Daten, welche die virtuelle Realität repräsentieren. Der von einer Anwendung erzeugte Inhalt kann auf Eingaben reagieren, die vom Benutzer durch Bewegung des Headsets 20 oder über die Gestenerkennungseinheit 32 oder die Eingabeschnittstelle 38 erhalten werden. Beispiele für Anwendungen sind Spieleanwendungen, Videowiedergabeanwendungen oder dergleichen.The
Die Gestenerkennungseinheit 32 führt eine Gestenerkennung basierend auf Bildinformationen durch, die von einer Kamera 24 des Headsets 2 bereitgestellt werden. Insbesondere erkennt die Gestenerkennungseinheit 32, basierend auf den empfangenen Bildinformationen, vordefinierte vom Benutzer ausgeführte Handgesten, beispielsweise eine Zeigegeste oder eine Bestätigungsgeste, wie sie weiter unten in Bezug auf
Die Eingabeschnittstelle 38 ist neben der Gestenerkennungseinheit 32 eine weitere Funktionalität, die es einem Benutzer ermöglicht, Aktionsanforderungen an die VR-Konsole 30 zu senden. Die Eingabeschnittstelle 38 kann beispielsweise ein oder mehrere Eingabegeräte enthalten. Beispiele für Eingabegeräte sind VR-Controller, eine Maus, eine Tastatur, ein Joystick oder ein anderes geeignetes Gerät, um Aktionsanforderungen zu empfangen und die empfangenen Aktionsanforderungen an die VR-Konsole 30 zu übermitteln.The
Die VR-Einheit 33 führt Anwendungen innerhalb des VR-Systems aus und bestimmt den virtuellen Inhalt, der dem Headset 20 zur Präsentation für den Benutzer zur Verfügung gestellt werden soll. Die VR-Einheit 33 empfängt insbesondere Informationen von der Gestenerkennungseinheit 32, der Tracking-Einheit 36 und der Eingabeschnittstelle 38 und kontrolliert, basierend auf den empfangenen Informationen den virtuellen Inhalt zur Anzeige auf dem Headset 20. Die VR-Einheit 33 kann hierzu beispielsweise eine Rendering-Engine wie das Unity SDK verwenden.The
Die Tracking-Einheit 36 kalibriert das VR-System, indem es beispielsweise die von der internen Messeinheit (IMU) 22 des Headsets 20 erhaltenen Informationen verwendet. Die Tracking-Einheit 36 empfängt beispielsweise aktuelle Positionsinformationen, Beschleunigungsinformationen, Geschwindigkeitsinformationen und/oder vorhergesagte zukünftige Positionen des Headsets 20. Basierend auf den Informationen der Tracking-Einheit 36 kontrolliert die VR-Einheit 33 den virtuellen Inhalt zur Anzeige auf dem Headset 20. Wenn die empfangenen Informationen beispielsweise anzeigen, dass der Benutzer eine Kopfbewegung durchgeführt hat, so erzeugt die VR-Einheit 33 Inhalte für das Headset 20, die die Kopfbewegung des Benutzers in einer virtuellen Umgebung widerspiegeln. Darüber hinaus führt die VR-Einheit 33 eine Aktion innerhalb einer auf der VR-Konsole 30 ausgeführten Anwendung als Reaktion auf eine von der Gestenerkennungseinheit 32 oder der Eingabeschnittstelle 38 empfangene Aktionsanforderung aus.The
Die Informationsübertragung zwischen dem Headset 20 und der VR-Konsole 30 erfolgt über Kommunikationsschnittstellen 21 (Headset) und 31 (VR-Konsole). Die Kommunikation kann beispielsweise über eine drahtlose Funkanbindung erfolgen.The information transfer between the
Das Headset 20 präsentiert dem Benutzer - gesteuert durch die VR-Konsole 30 - virtuelle Inhalte. Virtuelle Inhalte können beispielsweise Bilder, Videos und/oder Audioinhalte umfassen. Audioinhalte können über ein separates Gerät (z. B. Lautsprecher und/oder Kopfhörer) außerhalb des Headsets 20, das Audioinformationen vom Headset 20, der VR-Konsole 30 oder beiden empfängt, präsentiert werden. Das Headset 20 kann eine Kommunikationsschnittstelle 21, eine inertiale Messeinheit (IMU) 22, eine Kamera 24, eine Rendering-Einheit 26 und ein Display 28 umfassen.The
Die Rendering-Einheit 26 des Headsets 20 empfängt Inhalte für die virtuelle Umgebung von der VR-Einheit 33 der Konsole und stellt die Inhalte zur Anzeige auf dem Display 28 bereit. Ferner kann die Rendering-Einheit 26 den Inhalt beispielsweise basierend auf Informationen von der IMU 22 anpassen.The
Die inertiale Messeinheit (IMU) 22 ist eine elektronische Komponente, die Kalibrierungsdaten auf der Grundlage von Messsignalen erzeugt, die von einem oder mehreren Kopfverfolgungssensoren empfangen werden, die als Reaktion auf die Bewegung des Headsets 20 ein oder mehrere Messsignale erzeugen. Beispiele für Kopfverfolgungssensoren sind Beschleunigungssensoren 23 zur Messung von Translationsbewegungen (vorwärts/rückwärts, aufwärts/abwärts, links/rechts Bewegungen), Gyroskope 25 zur Messung von Rotationsbewegungen (z. B. Nick-, Gier- und Rollbewegungen), Magnetometer 27 zur Bestimmung der Ausrichtung gegenüber dem Erdmagnetfeld und dergleichen, die für die Erfassung von Bewegungen und/oder die Korrektur von Fehlern im Zusammenhang mit der IMU 22 geeignet sind. Basierend auf den Messsignalen der Kopfverfolgungssensoren und mittels dem Fachmann bekannten Verfahren der Sensorfusion erzeugt die IMU 22 Kalibrierungsdaten, die eine geschätzte Position des Headsets 20 relativ zu einer Anfangsposition anzeigen. Die IMU 22 kann zum Beispiel die Messsignale schnell abtasten und die geschätzte Position des Headsets 20 aus den abgetasteten Daten berechnen. Beispielsweise integriert die IMU 22 die von den Beschleunigungssensoren 23 empfangenen Messsignale über die Zeit, um einen Geschwindigkeitsvektor zu schätzen, und integriert den Geschwindigkeitsvektor über die Zeit, um eine geschätzte Position eines Referenzpunktes auf dem Headset 20 zu bestimmen. Der Referenzpunkt ist beispielsweise ein Punkt, der verwendet werden kann, um die Position des Headsets 20 zu beschreiben (z. B. ein Mittelpunkt der IMU 22).The inertial measurement unit (IMU) 22 is an electronic component that generates calibration data based on measurement signals received from one or more head tracking sensors that generate one or more measurement signals in response to the movement of the
Alternativ oder zusätzlich kann sich das Headset mittels Technologien wie SLAM („Simultaneous Localization and Mapping“) auch selbst im Raum tracken. Dazu werden die optischen Daten der Kameras bzw. Tiefen-Sensoren ausgewertet.Alternatively or additionally, the headset can also track itself in space using technologies such as SLAM (“Simultaneous Localization and Mapping”). To do this, the optical data from the cameras or depth sensors is evaluated.
Auf diese Weise können VR/AR-Erfahrungen, die von der VR-Konsole 30 mittels dem Headset 20 vermittelt werden, physische Bewegungen eines Benutzers verfolgen, und, abhängig von den verfolgten physischen Bewegungen, eine oder mehrere Eigenschaften eines oder mehrerer virtueller Objekte, die in der VR/AR-Umgebung simuliert werden, anpassen. Beispielsweise kann das VR/AR-System erkennen, dass sich der Kopf des Benutzers dreht, und daraufhin die Bilddaten, die dem Benutzer präsentiert werden, so anpassen, dass sie mit dem veränderten Blickfeld des Benutzers korrelieren.In this way, VR/AR experiences delivered by the
Die Kamera 24 nimmt Bilder des Raumes vor dem Benutzer auf, auf denen der Raum und gegebenenfalls auch die Hände des Benutzers zu sehen sind. Gemäß einer beispielhaften Ausführungsform kann die Kamera 24 ein paar von RGB Kameras oder Graustufenkameras umfassen, die ein jeweiliges Bild einer Szene aufnehmen, das für ein linkes bzw. ein rechtes Auge des Nutzers vorgesehen ist. Die Kamera 24 kann ferner eine oder mehrere optische Linsen, ggf. eine Beleuchtungsquelle und elektronische Steuerungen umfassen. Die von der Kamera 24 gelieferten Bilddaten werden beispielsweise dazu verwendet, dem Benutzer ein Abbild der realen Umgebung vor ihm über das Display 28 des Headsets bereitzustellen, oder sie werden der Gestenerkennungs-Einheit 32 zugeführt, so dass diese auf Grundlage der Bilder eine Gestenerkennung durchführen kann, beispielsweise um zu bestimmen, ob der Benutzer eine Zeigegeste beziehungsweise eine Bestätigungsgeste wie weiter unten beschrieben ausführt.The
Die Bilddaten der Kamera 24 werden durch eine Gestenerkennung (32 in
Die Funktionalität von Konsole und Headset kann durch Software-Updates ständig verbessert werden.The functionality of the console and headset can be continually improved through software updates.
Das obige Ausführungsbeispiel der
GestenerkennungGesture recognition
Die hier beschriebene VR-Konsole kann eine Reihe von Gesten verwenden, um Benutzereingaben zu erkennen.The VR console described here can use a number of gestures to detect user input.
Die
In
Durch die Objekt-Auswahl, wie sie in
Ein weiteres Beispiel für eine Zeigegeste der linken Hand und für eine Bestätigungsgeste der rechten Hand ist in den
Das obige Beispiel einer Geste verwendet den Zeigefinger der linken Hand als virtuellen Mauspfeil, um Objekteckpunkte zu berühren und zu bestätigen. Die Funktion der linken und rechten Hand kann aber auch umgeschaltet werden.The gesture example above uses the index finger of the left hand as a virtual mouse arrow to touch and confirm object vertices. However, the function of the left and right hands can also be switched.
Die in den
Um Fehler bei der Gestenerkennung zu vermeiden, können solche Gesten dem Benutzer mittels Tutorials vermittelt werden.To avoid errors in gesture recognition, such gestures can be taught to the user via tutorials.
VR-BenutzererlebnisVR user experience
Die Auswahl eines Scans aus einer Liste von Scans, wie dies in
Scannen der Objekte eines RaumesScanning the objects in a room
In den
Die
Durch dieses Scannen durch den Benutzer können die physischen Objekte in eine virtuelle Umgebung integriert werden, wie dies oben unter Bezug auf
Mittels einer Starttaste die dem Benutzer mittels des Displays des Headsets angezeigt wird, kann der Benutzer das Benutzererlebnis mit dem neu erstellten Scan starten, wie dies in den obigen
In
Beispielsweise ergibt sich - unter der Annahme, dass eine Seitenfläche senkrecht zum Boden steht - aus einem ersten und einem zweiten Vermessungspunkten eine erste Seitenfläche des Kastens. Durch Parallelverschiebung der ersten Seitenfläche zum dritten Vermessungspunkt ergibt sich eine erste Seitenfläche des Kastens, die der ersten Seitenfläche gegenüberliegt. Die weiteren Seitenflächen des Kastens ergeben sich aus diesen beiden Seitenflächen.For example, assuming that a side surface is perpendicular to the ground, a first side surface of the box is obtained from a first and a second measurement point. By moving the first side surface parallel to the third measurement point, a first side surface of the box is obtained that is opposite the first side surface. The other side surfaces of the box are obtained from these two side surfaces.
Als untere Begrenzung der virtuellen Box wird - wie oben beschrieben - automatisch entweder die Grundebene des Raums oder die Oberkante einer darunterliegenden Geometrie gewählt, falls bereits ein Objekt gescannt wurde, das sich unter dem neu hinzukommenden Objekt befindet. Die Begrenzung kann beispielsweise die Oberkante eines Tischs sein, während man ein Objekt auf dem Tisch scannt.As described above, the lower boundary of the virtual box is automatically chosen to be either the ground plane of the room or the upper edge of an underlying geometry if an object has already been scanned that is located under the new object. The boundary can, for example, be the upper edge of a table while scanning an object on the table.
Die drei Punkte können entweder im oder gegen den Uhrzeigersinn bestätigt werden.The three points can be confirmed either clockwise or counterclockwise.
Die oben beschriebene Vorgehensweise zum manuellen Scannen eines Raumobjekts durch Berührung verwendet vordefinierte Gesten, um Benutzereingaben zu erkennen. Sie ermöglicht ein direktes physisches Feedback durch Berühren von realen Objekten mit den Händen.The approach described above for manually scanning a spatial object by touch uses predefined gestures to detect user inputs and enables direct physical feedback by touching real objects with the hands.
Beispielsweise ergibt sich - unter der Annahme, dass eine Seitenfläche senkrecht zum Boden steht - aus einem ersten und einem zweiten Vermessungspunkten eine erste Seitenfläche des Kastens. Durch Parallelverschiebung der ersten Seitenfläche zum dritten Vermessungspunkt ergibt sich eine erste Seitenfläche des Kastens, die der ersten Seitenfläche gegenüberliegt. Die weiteren Seitenflächen des Kastens ergeben sich aus diesen beiden Seitenflächen.For example, assuming that a side surface is perpendicular to the ground, a first side surface of the box results from a first and a second measurement point. Parallel displacement of the first side surface to the third measurement point results in a first side surface of the box that is opposite the first side surface. The other side surfaces of the box result from these two side surfaces.
Die Scandaten (beispielsweise Eckpunkte), die physische Objekte repräsentieren, können darüber hinaus einige Informationen über die Art des Objekts enthalten, die über die Orts- und Geometriedaten hinausgehen und eine Klassifizierung oder Kategorisierung des jeweiligen Objekts ermöglichen. Diese Klassifizierung ist beispielsweise relevant für die spätere Verwendung der Scandaten beim Aufbauen einer neuen virtuellen Realität.The scan data (e.g. corner points) representing physical objects may also contain some information about the type of object that goes beyond the location and geometry data and allows a classification or categorization of the respective object. This classification is relevant, for example, for the later use of the scan data when building a new virtual reality.
In einer zweiten Phase, nach Beenden des Scannens der Raumobjekte, kann der Benutzer durch ähnliche Vorgehensweise die Wände des Raumes scannen, um diese gemeinsam mit den gescannten physischen Objekten in einer virtualisierten Darstellung abzubilden. Sobald der Benutzer durch eine Eingabe bestätigt hat, dass er keine weiteren Objekte scannen möchte, wird er durch eine entsprechende Anzeige auf dem Display dazu aufgefordert, die Wände des Raumes in dem er sich aufhält zu scannen. Das Scannen der Wände des Raumes erfolgt auf ähnliche Weise wie vorgehend für die physischen Objekte beschrieben.In a second phase, after scanning the room objects has been completed, the user can scan the walls of the room using a similar procedure in order to display them together with the scanned physical objects in a virtualized representation. As soon as the user has confirmed by an input that he does not want to scan any more objects, he is prompted by a corresponding display to scan the walls of the room in which he is located. The scanning of the walls of the room is carried out in a similar way to that described above for the physical objects.
In
Bei der Erzeugung der virtuellen Ebene, welche die Wand beschreibt, wird davon ausgegangen, dass die Wand senkrecht zum Boden steht und durch die festgelegten zwei Eckpunkte läuft. Die virtuelle Wand wird seitlich durch die festgelegten Eckpunkte begrenzt. Nach unten wird die erzeugte virtuelle Wand durch den vordefinierten Boden begrenzt, der dem realen Boden des Raumes entspricht, in dem der Benutzer sich während der VR/AR-Erfahrung bewegt. Nach oben wird die virtuelle Wand durch eine vordefinierte Raumhöhe begrenzt, wobei diese Raumhöhe (bzw. Wandhöhe) in einem virtuellen Erlebnis beliebig gewählt werden kann und nicht unbedingt der physikalischen Raumhöhe des realen Raumes entsprechen muss, in dem sich der Benutzer während der VR/AR-Erfahrung bewegt. Dies liegt daran, dass der Benutzer während der VR/AR-Erfahrung normaler Weise nicht mit der Decke des physikalischen Raumes, in dem er sich bewegt, in Berührung kommt.When generating the virtual plane that describes the wall, it is assumed that the wall is perpendicular to the floor and runs through the two specified corner points. The virtual wall is limited laterally by the specified corner points. The generated virtual wall is limited downwards by the predefined floor, which corresponds to the real floor of the room in which the user moves during the VR/AR experience. The virtual wall is limited upwards by a predefined room height, whereby this room height (or wall height) can be chosen arbitrarily in a virtual experience and does not necessarily have to correspond to the physical room height of the real room in which the user moves during the VR/AR experience. This is because the user does not normally come into contact with the ceiling of the physical room in which he moves during the VR/AR experience.
Bei dem Verfahren ist es somit unerheblich, in welcher Höhe ein Eckpunkt der Wand aufgezeichnet wird. Der Benutzer kann beim Scannen der Wand eine für ihn bequeme Höhe wählen, um die wanddefinierenden Eckpunkte festzulegen.In this method, it is therefore irrelevant at what height a corner point of the wall is recorded. When scanning the wall, the user can choose a comfortable height to determine the corner points that define the wall.
Das hier gezeigte Beispiel zum Scannen einer oder mehrerer Wände ist besonders effizient, da der Benutzer zum Scannen eines üblichen Raumes mit vier Wänden nur vier Eckpunkte des Raums festlegen muss, wobei jeder Eckpunkt in einer jeweiligen der vier Ecken des Raumes liegt. Jeweils zwei der vier gescannten Eckpunkte definieren eine Wand des Raumes. So definiert beispielsweise ein erster aufgezeichneter Eckpunkt und ein zweiter aufgezeichneter Eckpunkt eine erste Wand des Raumes, der zweite aufgezeichnete Eckpunkt und ein dritter aufgezeichneter Eckpunkt definieren eine zweite Wand des Raumes, der dritte aufgezeichnete Eckpunkt und ein vierter aufgezeichneter Eckpunkt definieren eine dritte Wand des Raums, die der ersten Wand gegenüberliegt und der vierte aufgezeichnete Eckpunkt und der erste aufgezeichnete Eckpunkt definieren eine vierte Wand des Raums, die der zweiten Wand gegenüberliegt.The example shown here for scanning one or more walls is particularly efficient because to scan a typical room with four walls the user only needs to specify four corner points of the room, with each corner point located in a respective one of the four corners of the room. Any two of the four scanned corner points define a wall of the room. For example, a first recorded corner point and a second recorded corner point define a first wall of the room, the second recorded corner point and a third recorded corner point define a second wall of the room, the third recorded corner point and a fourth recorded corner point define a third wall of the room that is opposite the first wall, and the fourth recorded corner point and the first recorded corner point define a fourth wall of the room that is opposite the second wall.
Der Benutzer fährt mit diesem Vorgehen so lange fort, bis alle Wände eines Raumes vermessen sind. Wenn die letzte Wand vermessen ist, führt der Benutzer beispielsweise eine vordefinierte Geste (beispielsweise „Daumen nach oben“) aus, so dass die vermessenen Wände im obigen Sinne untereinander verbunden werden.The user continues this process until all walls in a room have been measured. When the last wall has been measured, the user performs a predefined gesture (e.g. "thumbs up") so that the measured walls are connected to each other in the above sense.
Auf die oben beschriebene Weise können beliebig viele Räume durch den Benutzer gescannt werden.In the manner described above, any number of rooms can be scanned by the user.
Bei manuellen Scannern gibt es verschiedene Ansätze, um Objekte zu markieren und zuzuordnen. Der oben beschriebene Ansatz ist auf die Hände des Benutzers (und damit auf die Gestenerkennung einer VR-Konsole) basiert, um Objekte zu scannen. Jedoch können alternativ auch VR-Controller (Steuergeräte) zum Zeigen und Bestätigen verwendet werden.There are different approaches to marking and assigning objects with manual scanners. The approach described above relies on the user's hands (and thus on the gesture recognition of a VR console) to scan objects. However, VR controllers can alternatively be used for pointing and confirming.
Raumobjekte_0 gescannter Objekte des Raumes und eine Unterstruktur Wände_0 gescannter Wände des Raumes. Raum_1 umfasst eine Unterstruktur Raumobjekte_1 gescannter Objekte des Raumes, aber keine zugewiesenen Wände. Raum_2 hat noch keine zugewiesenen Objekte oder Wände. Der n-te gespeicherten Scan Profil_n umfasst einen n-ten Raum Raum_n und einen n+1-ten Raum Raum_n+1 und einen dritten Raum Raum_2. Raum_n umfasst eine Unterstruktur Raumobjekte_n gescannter Objekte des Raumes. Raum_n+1 umfasst eine Unterstruktur Wände_n+1 gescannter Wände des Raumes.RoomObjects_0 of scanned objects of the room and a substructure Walls_0 of scanned walls of the room. Room_1 includes a substructure RoomObjects_1 of scanned objects of the room, but no assigned walls. Room_2 has no assigned objects or walls yet. The nth saved scan Profile_n includes an nth room Room_n and an n+1th room Room_n+1 and a third room Room_2. Room_n includes a substructure RoomObjects_n of scanned objects of the room.
Tracking von klassifizierten Objekten in Raum-Scans mit Echtzeit-Daten durch Funk- und Optik-TrackerTracking of classified objects in room scans with real-time data through radio and optical trackers
Um dem Nutzer von Extended-Reality-Geräten die Möglichkeit zu bieten sich in einem Gefüge von realen Objekten frei in virtuellen Umgebungen zu bewegen, ist es, wie oben beschrieben, hilfreich, mit einem digitalen Abbild der Geometrie der Realität zu arbeiten. Mit den Ausführungsbeispielen, die im Folgenden beschrieben werden, wird ein Raumverständnis des Extended-Reality-Gerätes bereitgestellt, das auf veränderliche Positionen der realen Objekte reagieren kann, die es umgeben.In order to offer the user of extended reality devices the possibility of moving freely in a structure of real objects in virtual environments, it is helpful, as described above, to work with a digital image of the geometry of reality. The embodiments described below provide a spatial understanding of the extended reality device that can react to changing positions of the real objects that surround it.
Um trotz der Verwendung eines einmalig angefertigten statischen Raum-Scans einzelne virtuelle Objekte analog zu den Positionsänderungen ihrer realen Gegenstücke zu bewegen, wird die Scan-Erstellung mit der manuellen oder automatischen Klassifizierung der gescannten Objekte in realen Innen- oder Außenräumen durch Extended-Reality-Geräte, die sich durch Inside-Out-Tracking im Raum verorten, mit dem Prinzip von Funk- oder Optik-Trackern kombiniert, die durch das Extended-Reality-Gerät in ihrer Position erkannt werden. Um virtuellen Objekten die Eigenschaft der freien Positionierung im Raum zuzuordnen, werden die dafür vorgesehenen im Raum befindlichen Funk- oder Optik-Tracker mit den entsprechenden klassifizierten virtuellen Objekten logisch verknüpft.In order to move individual virtual objects analogously to the position changes of their real counterparts despite the use of a one-time static room scan, the scan creation is combined with the manual or automatic classification of the scanned objects in real indoor or outdoor spaces by extended reality devices that locate themselves in the room using inside-out tracking, with the principle of radio or optical trackers that are recognized in their position by the extended reality device. In order to assign virtual objects the property of free positioning in space, the radio or optical trackers provided for this purpose in the room are logically linked to the corresponding classified virtual objects.
Da sich die Realität um den Nutzer während der Nutzung von Extended-Reality-Geräten in ihrer geometrischen Form verändern kann, sollte ein okkludierendes digitales Abbild eines sich bewegenden Objektes auf diesen Umstand reagieren. Wenn für das digitale Abbild mit einem statischen Scan gearbeitet wird, der entweder manuell oder automatisch erzeugt wurde und dessen Objekte auf Grund ihrer Beschaffenheit und Zweck klassifiziert wurden, müssen jegliche Parameter, die ihre Position in der realen Welt kontinuierlich verändern, gesondert aufgezeichnet werden. Dies kann durch dedizierte Funk- und Optik-Tracker erfolgen, die logisch mit den klassifizierten beweglichen Objekten im Raum-Scan verknüpft werden.Since the reality around the user can change in its geometric shape during the use of extended reality devices, an occluding digital image of a moving object should react to this circumstance. If the digital image is based on a static scan that was generated either manually or automatically and whose objects were classified based on their nature and purpose, any parameters that continuously change their position in the real world must be recorded separately. This can be done by dedicated radio and optical trackers that are logically linked to the classified moving objects in the spatial scan.
Im Rahmen des Inside-Out-Trackings ist es Extended-Reality-Geräten, wie Handhelds und Brillen, möglich, sich durch SLAM-Methoden uneingeschränkt selbst im Raum zu lokalisieren. Wenn die realen Objekte dabei von virtuellen Inhalten okkludiert werden, sollten die virtuellen Objekte die realen Geometrien passend abbilden und auf deren Bewegungen reagieren. Durch die Vermeidung von Abweichungen zwischen realen Geometrien und virtuellen Objekten werden Kollisionen zwischen Nutzer und realen Gegenständen vermieden.Inside-out tracking allows extended reality devices such as handhelds and glasses to locate themselves in space without restrictions using SLAM methods. If the real objects are occluded by virtual content, the virtual objects should appropriately map the real geometries and react to their movements. By avoiding deviations between real geometries and virtual objects, collisions between users and real objects are avoided.
Je nach technischer Ausstattung des Extended-Reality-Geräts kann zur Kartografierung der Realität eine Lösung zur Verwendung kommen, die nur zu Beginn der Nutzung des Extended-Reality-Geräts ein Mal die Geometrie vermisst, wie dies in den
Die Funk- oder Optik-Tracker, beispielsweise Infrarot-, Bluetooth- oder UWB-Tracker, werden logisch mit einzelnen klassifizierten Objekten in Beziehung gebracht. Dadurch kann pro Tracker das virtuelle Gegenstück eines sich bewegenden realen Objektes in einem statisch erzeugten Scan live verfolgt werden.The radio or optical trackers, such as infrared, Bluetooth or UWB trackers, are logically related to individual classified objects. This means that the virtual counterpart of a moving real object can be tracked live in a statically generated scan for each tracker.
In einem realen Innen- oder Außenraum ist zu erkennen, dass gewöhnlicherweise reale Objekte auf Grund ihrer Eigenschaften vornehmlich entweder eher fest oder eher beweglich positioniert sind. Durch eine Einordnung des Verhaltens der realen Objekte kann entschieden werden, an welchen Objekten die Anbringung von Funk- und Optik-Trackern sinnvoll ist, um ihr Verhalten in Bewegung zu verfolgen.In a real indoor or outdoor space, it can be seen that real objects are usually positioned either in a fixed or a mobile manner due to their properties. By classifying the behavior of the real objects, it can be decided which objects make sense to attach radio and optical trackers to in order to track their behavior in motion.
In den folgenden
Das Verknüpfen der virtuellen Objekte mit den im Raum befindlichen Funk- oder Optik-Tracker erfolgt beispielsweise, indem der Nutzer in der Benutzeroberfläche des Scanning-Programms auf dem Extended-Reality-Gerät die erweiterte Eigenschaft für ein klassifiziertes Objekt auswählt und die Tracker-Identifikationsmerkmale angibt.The virtual objects are linked to the radio or optical trackers located in the room, for example, by the user selecting the extended property for a classified object in the user interface of the scanning program on the extended reality device and specifying the tracker identification features.
Das Ziel des Raum-Scans ist es, ein digitales Abbild des realen Raumes zu erzeugen, das geometrisch mit der Realität übereinstimmt. Das kann mit Hilfe des Nutzers durch händisches Abmessen oder durch eine automatische Abtastung des Raumes durch die Sensoren des Extended-Reality-Geräts passieren. Während dieses Vorgangs oder danach werden die virtuellen Objekt-Geometrien basierend auf den realen Objekten, die ihnen zu Grunde liegen, durch den Nutzer oder automatisch durch die Scanning-Software klassifiziert und in ihrer Gesamtform verstanden. Dies ist notwendig, um den virtuellen Objekten für die Unabhängigkeit von einer statischen Position verschiedene Eigenschaften zuweisen zu können.The aim of the room scan is to create a digital image of the real room that geometrically corresponds to reality. This can be done with the help of the user by measuring manually or by an automatic scanning of the room by the sensors of the extended reality device. During this process or afterwards, the virtual object geometries are classified by the user or automatically by the scanning software based on the real objects on which they are based and their overall shape is understood. This is necessary in order to be able to assign different properties to the virtual objects so that they are independent of a static position.
Um Funk- und Optik-Tracker wie beispielsweise Infrarot-, Bluetooth- oder UWB-Tracker nutzen zu können ist das im Raum verwendete Extended-Reality-Gerät dieses Ausführungsbeispiels nicht nur in der Lage, seine Relation zur realen Geometrie durch Inside-Out-Tracking zu berechnen, sondern es kann analog dazu dessen räumliche Relation zum Tracker durch die direkte Funk- oder Optikverbindung in Echtzeit verfolgen.In order to be able to use radio and optical trackers such as infrared, Bluetooth or UWB trackers, the extended reality device used in the room in this embodiment is not only able to calculate its relation to the real geometry through inside-out tracking, but it can also track its spatial relation to the tracker in real time through the direct radio or optical connection.
Bei einer Nutzung von unterschiedlichen Technologien für Inside-Out-Tracking des Extended Reality-Geräts und Verortung der Tracker durch dieses, wie zum Beispiel bei einer Mischung von Funk- und Optikdaten, wird darauf geachtet, dass es nicht zu Verzögerung oder Versatz der Daten kommt, damit die räumliche Beziehung der realen Objekte im Raum mit der Anzeige der virtuellen Objekte übereinstimmt.When using different technologies for inside-out tracking of the extended reality device and location of the trackers by it, such as when mixing radio and optical data, care is taken to ensure that there is no delay or offset in the data so that the spatial relationship of the real objects in the room matches the display of the virtual objects.
Dreidimensionale Transformationen eines virtuellen Objekts werden beispielsweise durchgeführt, indem jeder Objektpunkt (z.B. Vertex) transformiert wird.For example, three-dimensional transformations of a virtual object are performed by transforming each object point (e.g. vertex).
Wenn ein Objekt beispielsweise durch mehrere Eckpunkte definiert ist, wird die Verschiebung (Translation) beispielsweise durch Verschieben aller Eckpunkte an eine neue Positionen erreicht.For example, if an object is defined by several vertices, the translation is achieved by moving all vertices to a new position.
Statt jeden Vertex des Objekts gesondert im Raum zu positionieren wird die relative Lage der Objekt-Vertices üblicherweise in einem Objektkoordinatensystem definiert, dessen Ursprung beispielsweise im Schwerpunkt des Objekts im Raumkoordinatensystem liegt, oder an einem sonstigen Ort, der die Position des Objekts im Raumkoordinatensystem („Objektposition“) definiert.Instead of positioning each vertex of the object separately in space, the relative position of the object vertices is usually defined in an object coordinate system whose origin lies, for example, at the center of gravity of the object in the spatial coordinate system, or at another location that defines the position of the object in the spatial coordinate system ("object position").
Eine Translation wird in homogenen Koordinaten (in denen 3D-Transformationen durch 4x4-Matrizen dargestellt werden) üblicherweise durch eine Translationsmatrix
Die Verschiebung eines Objekts, das sich zur Zeit t0 an der Objektposition Pobj(t0) im Raumkoordinatensystem befindet, wird durch Matrixmultiplikation wie folgt ausgedrückt:
Eine beliebige Rotation eines Objekts im 3D-Raum wird in homogenen Koordinaten durch drei Drehmatrizen Rz(α), Ry(γ), and Rx(β) ausgedrückt:
Um die Orientierung eines Objekts im dreidimensionalen Raum zu ändern, werden die Vertices gemäß der Drehwinkel α, β, und γ im Objektkoordinatensystem gedreht.To change the orientation of an object in three-dimensional space, the vertices are rotated according to the rotation angles α, β, and γ in the object coordinate system.
Arbeitet man, wie oben beschrieben, mit einem Objektkoordinatensystem, kann die Orientierungsänderung des Objekts direkt im Objektkoordinatensystem vorgenommen werden, indem die Position Pvertex(t0) jedes Vertex vor der Rotation (Zeit t0) mit den entsprechenden Rotationsmatrizen multipliziert wird:
Es sei Ptracker(t0) die Ausgangsposition des Trackers eines Objekts zum Zeitpunkt t0 der Erzeugung des Objekts und Ptracker(t) die aktuelle Position des Trackers zum Zeitpunkt t, wie sie vom Tracker bereitgestellt werden.Let P tracker (t 0 ) be the initial position of the tracker of an object at time t 0 of the object's creation and P tracker (t) be the current position of the tracker at time t, as provided by the tracker.
Der Translationsvektor
Der Tracker liefert zudem die Drehwinkel α, β, und γ (Euler-Winkel), welche die Änderung der Orientierung des Trackers zwischen dem Ausgangszeitpunkt t0 und dem aktuellen Zeitpunkt t beschreiben.The tracker also provides the rotation angles α, β, and γ (Euler angles), which describe the change in the orientation of the tracker between the initial time t 0 and the current time t.
Die Drehwinkel α(t), β(t), und y(t) und der Translationsvektor t(t) = (tx(t), ty(t), tz(t)) beschreiben die Bewegung des Trackers im Raum.The rotation angles α(t), β(t), and y(t) and the translation vector t(t) = (t x (t), t y (t), t z (t)) describe the movement of the tracker in space.
Unter der Annahme, dass das dem Tracker zugeordnete virtuelle Objekt dieselbe Bewegung, d.h. Translation und Orientierungsänderung (Rotation), durchführen soll, wie der am physikalischen Objekt befestigte Tracker (bzw. das physikalische Objekt selbst) gilt für die aktuelle Position Pobj(t) des virtuellen Objekts zum Zeitpunkt t:
Eine Orientierungsänderung des Objekts, die jener des Trackers entspricht, kann im Objektkoordinatensystem wie folgt erreicht werden:
Eine Kalibrierung erfolgt beim Erstellen des Scans, während das Headset die Ausgangsposition Ptracker(t0) des Trackers durch Funk-Daten oder eine direkte OptikVerbindung kennt. Optik-Tracker funktionieren genauso wie die Controller der Brillen selbst und haben Infrarot-Merkmale, die die Brille (oder das Smartphone/Tablet) sieht.Calibration occurs when the scan is created, while the headset knows the tracker's starting position P tracker (t 0 ) through radio data or a direct optical connection. Optical trackers work in the same way as the controllers of the glasses themselves and have infrared features that the glasses (or smartphone/tablet) see.
Um die Kalibrierung über Neustarts einer VR/AR-Anwendung zu vereinfachen, kann die Technologie der „Spatial Anchor“ eingesetzt werden. Wenn bei einem Neustart der Anwendung der Spatial Anchor den alten Scan wieder korrekt platziert, sollte es auch kein Problem sein neue Daten der Tracker einzubinden. Falls sich die beweglichen Objekte im Raum seit der letzten Benutzung der Anwendung bewegt haben, und die Tracker somit auch, kann das AR/VR-Device die logisch verknüpften virtuellen Elemente dann an die neuen Positionsdaten der Tracker anpassen - also diese verschieben.To simplify calibration when restarting a VR/AR application, the "Spatial Anchor" technology can be used. If the Spatial Anchor correctly places the old scan again when the application is restarted, it should not be a problem to integrate new data from the trackers. If the moving objects in the room have moved since the application was last used, and so have the trackers, the AR/VR device can then adapt the logically linked virtual elements to the new position data of the trackers - in other words, move them.
Durch diese direkte Verbindung von Position und Ausrichtung des virtuellen Objekts mit Position und Ausrichtung des Trackers wird das virtuelle Objekt im virtuellen Raum analog zur Positionsveränderung des Trackers im realen Raum bewegt.Through this direct connection of the position and orientation of the virtual object with the position and orientation of the tracker, the virtual object is moved in virtual space analogously to the change in position of the tracker in real space.
BezugszeichenReference symbols
- 20, 5020, 50
- HeadsetHeadset
- 21, 5121, 51
- Kommunikationsschnittstelle HeadsetCommunication interface headset
- 22, 5222, 52
- IMUIMU
- 23, 5323, 53
- BeschleunigungssensorAccelerometer
- 24, 5424, 54
- Kameracamera
- 25,5525.55
- Gyroskopgyroscope
- 26, 5626, 56
- Rendering-EinheitRendering unit
- 27, 5727, 57
- MagnetometerMagnetometer
- 28, 5828, 58
- DisplayDisplay
- 30, 6030, 60
- VR-KonsoleVR console
- 31, 6131, 61
- Kommunikationsschnittstelle VR-KonsoleCommunication interface VR console
- 3232
- GestenerkennungseinheitGesture recognition unit
- 33, 6333, 63
- VR-EinheitVR unit
- 34, 6434, 64
- Speichermemory
- 36, 6636, 66
- Tracking-EinheitTracking unit
- 38, 6838, 68
- EingabeschnittstelleInput interface
- 40, 4240, 42
- Hand-ControllerHand controller
- 8080
- Display-MenüDisplay menu
- 8181
- linke Handleft hand
- 8282
- rechte Handright hand
- 83, 8983, 89
- Vermessungspunkt (z.B. Eckpunkt)Survey point (e.g. corner point)
- 8484
- Raumobjekt (Tisch)Spatial object (table)
- 8585
- Raumobjekt (Sofa)Room object (sofa)
- 86, 8786, 87
- virtualisierte Darstellung eines Raumobjektsvirtualized representation of a spatial object
- 8888
- virtualisierte Darstellung einer Wandvirtualized representation of a wall
- 8989
- Raumobjekt (Gegenstand)Spatial object (object)
- 9090
- Raumobjekt (Türe)Room object (door)
- 9191
- ObjektkoordinatensystemsObject coordinate system
- 9292
- RaumkoordinatensystemSpatial coordinate system
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023105347.7A DE102023105347A1 (en) | 2023-03-03 | 2023-03-03 | Enrichment of classified objects in room scans with real-time data through radio and optical trackers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023105347.7A DE102023105347A1 (en) | 2023-03-03 | 2023-03-03 | Enrichment of classified objects in room scans with real-time data through radio and optical trackers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102023105347A1 true DE102023105347A1 (en) | 2024-09-05 |
Family
ID=92422408
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102023105347.7A Ceased DE102023105347A1 (en) | 2023-03-03 | 2023-03-03 | Enrichment of classified objects in room scans with real-time data through radio and optical trackers |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE102023105347A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102007059478A1 (en) * | 2007-12-11 | 2009-06-18 | Kuka Roboter Gmbh | Method and system for aligning a virtual model with a real object |
| US10586302B1 (en) * | 2017-08-23 | 2020-03-10 | Meta View, Inc. | Systems and methods to generate an environmental record for an interactive space |
| DE102019112781A1 (en) * | 2019-05-15 | 2020-11-19 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Method for coupling coordinate systems and computer-aided system |
| US20220084279A1 (en) * | 2020-09-11 | 2022-03-17 | Apple Inc. | Methods for manipulating objects in an environment |
-
2023
- 2023-03-03 DE DE102023105347.7A patent/DE102023105347A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102007059478A1 (en) * | 2007-12-11 | 2009-06-18 | Kuka Roboter Gmbh | Method and system for aligning a virtual model with a real object |
| US10586302B1 (en) * | 2017-08-23 | 2020-03-10 | Meta View, Inc. | Systems and methods to generate an environmental record for an interactive space |
| DE102019112781A1 (en) * | 2019-05-15 | 2020-11-19 | Trumpf Werkzeugmaschinen Gmbh + Co. Kg | Method for coupling coordinate systems and computer-aided system |
| US20220084279A1 (en) * | 2020-09-11 | 2022-03-17 | Apple Inc. | Methods for manipulating objects in an environment |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102020110662B4 (en) | SIMULTANEOUS POSITIONING AND MAPPING (SLAM) FOR MULTIPLE USERS | |
| DE102018109463B3 (en) | Method for using a multi-unit actuated kinematics, preferably a robot, particularly preferably an articulated robot, by a user by means of a mobile display device | |
| DE102019002898A1 (en) | ROBOTORSIMULATIONSVORRICHTUNG | |
| DE60201692T2 (en) | 2D image processing applied to 3D objects | |
| DE60133386T2 (en) | DEVICE AND METHOD FOR DISPLAYING A TARGET BY IMAGE PROCESSING WITHOUT THREE DIMENSIONAL MODELING | |
| DE102024127890A1 (en) | Stage transition systems and procedures for creative workflows | |
| EP2977961B1 (en) | Method and communication device for creating and/or editing virtual objects | |
| DE112018004313T5 (en) | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM | |
| DE112019006107B4 (en) | Authoring device, authoring method and authoring program | |
| DE102019218787A1 (en) | METHOD, DEVICE AND SYSTEM FOR GENERATING OFFERS ASSOCIATED WITH A PRESENTATION OF AN ARTICLE | |
| WO2009062492A2 (en) | Method for representing image objects in a virtual three-dimensional image space | |
| DE112021002752T5 (en) | Capture and playback of spatial video | |
| DE102020104415A1 (en) | MOVEMENT IN AN ENVIRONMENT | |
| DE102014114131A1 (en) | Information processing and electronic device | |
| DE112017007791B4 (en) | CONTROL DEVICE FOR AN OPTICAL DEVICE, CONTROL METHOD FOR AN OPTICAL DEVICE, AND CONTROL PROGRAM FOR AN OPTICAL DEVICE | |
| DE112020000725T5 (en) | OBJECT POSITIONING AND MOVEMENT IN THREE-DIMENSIONAL CONTENT | |
| DE112018005224T5 (en) | Display device and display device control method | |
| EP3716014B1 (en) | Transfer of a condition between vr environments | |
| DE102025114516A1 (en) | CREATING SPATIAL TRUTH FOR SPATIAL GROUPS IN MULTI-USER COMMUNICATION SESSIONS | |
| DE102020122635A1 (en) | PRESENTATION OF AN ENVIRONMENT BASED ON USER MOVEMENTS | |
| WO2008104426A2 (en) | Industrial robot, and methods for determining the position of an industrial robot relative to an object | |
| DE102004061841A1 (en) | Markerless tracking system for augmented reality applications enables search space for features in camera image to be restricted by user by manipulating three-dimensional data model | |
| DE112016006840T5 (en) | CONTROLLING A TELEROBOTER BASED ON MOTION MAPPING | |
| DE102023105347A1 (en) | Enrichment of classified objects in room scans with real-time data through radio and optical trackers | |
| WO2007014966A1 (en) | Method and device for determining the relative position of a first object with respect to a second object, corresponding computer program and a computer-readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R012 | Request for examination validly filed | ||
| R002 | Refusal decision in examination/registration proceedings | ||
| R003 | Refusal decision now final |




