Nothing Special   »   [go: up one dir, main page]

DE102019125612A1 - Method for the computer-implemented simulation of an optical sensor in a virtual environment - Google Patents

Method for the computer-implemented simulation of an optical sensor in a virtual environment Download PDF

Info

Publication number
DE102019125612A1
DE102019125612A1 DE102019125612.7A DE102019125612A DE102019125612A1 DE 102019125612 A1 DE102019125612 A1 DE 102019125612A1 DE 102019125612 A DE102019125612 A DE 102019125612A DE 102019125612 A1 DE102019125612 A1 DE 102019125612A1
Authority
DE
Germany
Prior art keywords
sensor
cutting plane
partial
limit value
frustum
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.)
Pending
Application number
DE102019125612.7A
Other languages
German (de)
Inventor
Turgay Isik Aslandere
Alain Marie Roger Chevalier
Frederic Stefan
Michael Marbaix
Evangelos BITSANIS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Priority to DE102019125612.7A priority Critical patent/DE102019125612A1/en
Priority to CN202010977169.8A priority patent/CN112634342A/en
Publication of DE102019125612A1 publication Critical patent/DE102019125612A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Optics & Photonics (AREA)
  • Computing Systems (AREA)
  • Measurement Of Optical Distance (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur computerimplementierten Simulation eines optischen Sensors (6) in einer virtuellen Umgebung, wobei der optische Sensor (6) Tiefeninformationen bereitstellt, mit den Schritten:
(S100) Einlesen eines Wertes (W) indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums (F1, F2, F3) eines Frustums (F) des Sensors (6) mit je einer nahen Schnittebene (NS1, NS2, NS3) und einer fernen Schnittebene (FS1, FS2, FS3),
(S200) Bilden der Teil-Frustums (F1, F2, F3) gemäß dem Wert (W) durch Anordnungen der Teil-Frustum (F1, F2, F3) hintereinander entlang einer optischen Achse (A) des optischen Sensors (6), und
(S1300) Füllen eines Z-Puffers (8) mit Tiefendaten (TD), die auf Basis der Anwendung zumindest eines Teil-Frustums (F1, F2, F3) gewonnen wurden.

Figure DE102019125612A1_0000
The invention relates to a method for the computer-implemented simulation of an optical sensor (6) in a virtual environment, the optical sensor (6) providing depth information, with the following steps:
(S100) Reading in a value (W) indicative of a number of a plurality of partial frustums (F1, F2, F3) of a frustum (F) of the sensor (6) each with a near cutting plane (NS1, NS2, NS3) and one far cutting plane (FS1, FS2, FS3),
(S200) Forming the partial frustums (F1, F2, F3) according to the value (W) by arranging the partial frustums (F1, F2, F3) one behind the other along an optical axis (A) of the optical sensor (6), and
(S1300) Filling a Z-buffer (8) with depth data (TD) which have been obtained on the basis of the application of at least one partial frustum (F1, F2, F3).
Figure DE102019125612A1_0000

Description

Die Erfindung betrifft ein Verfahren zur computerimplementierten Simulation eines optischen Sensors in einer virtuellen Umgebung, wobei der optische Sensor Tiefeninformationen bereitstellt. Ferner betrifft die Erfindung ein Computerprogrammprodukt und ein System zur computerimplementierten Simulation eines derartigen LIDAR-Sensors.The invention relates to a method for the computer-implemented simulation of an optical sensor in a virtual environment, the optical sensor providing depth information. The invention also relates to a computer program product and a system for computer-implemented simulation of such a LIDAR sensor.

Kraftfahrzeuge können zum sogenannten autonomen Fahren ausgebildet sein. Ein autonom fahrendes Kraftfahrzeug ist ein selbstfahrendes Kraftfahrzeug, das ohne Einfluss eines menschlichen Fahrers fahren, steuern und einparken kann (hochautomatisiertes bzw. autonomes Fahren). Im Falle, dass keinerlei manuelles Steuern seitens des Fahrers nötig ist, wird auch der Begriff Roboterauto verwendet. Dann kann der Fahrersitz leer bleiben; eventuell sind Lenkrad, Brems- und Fahrpedal nicht vorhanden.Motor vehicles can be designed for so-called autonomous driving. An autonomously driving motor vehicle is a self-driving motor vehicle that can drive, control and park without the influence of a human driver (highly automated or autonomous driving). In the event that no manual control is required on the part of the driver, the term robot car is also used. Then the driver's seat can remain empty; possibly the steering wheel, brake and accelerator pedals are not available.

Derartige autonome Kraftfahrzeuge können mithilfe verschiedener Sensoren ihre Umgebung erfassen und aus den gewonnenen Informationen ihre eigene Position und die der anderen Verkehrsteilnehmer bestimmen, in Zusammenarbeit mit der Navigationssoftware ein Fahrziel ansteuern und Kollisionen auf dem Weg dorthin vermeiden.Autonomous vehicles of this type can use various sensors to detect their surroundings and use the information obtained to determine their own position and that of other road users, navigate to a destination in cooperation with the navigation software and avoid collisions on the way there.

Ein derartiger optischer Sensor kann ein sogenannter LIDAR-Sensor sein. LIDAR (Abkürzung für englisch light detection and ranging), bezeichnet dabei eine dem Radar verwandte Methode zur optischen Abstands- und Geschwindigkeitsmessung sowie zur Fernmessung. Statt elektromagnetischer Wellen wie beim RADAR werden Laserstrahlen verwendet.Such an optical sensor can be a so-called LIDAR sensor. LIDAR (abbreviation for light detection and ranging), describes a radar-related method for optical distance and speed measurement as well as for remote measurement. Instead of electromagnetic waves as with RADAR, laser beams are used.

LIDAR-Sensoren bieten den Vorteil, dass sie einen 360-Grad-Bereich um das Kraftfahrzeug herum mit hoher Auflösung und Geschwindigkeit ab-tasten können. Typischerweise verwendet ein LIDAR-Sensor eine Anordnung von laserbasierten Sensoren (z.B. 64), die sich mit hoher Geschwindigkeit (mehrere 100 n/min) drehen. Der LIDAR-Sensor ist dann in der Lage, Hindernisse zu erfassen, die von einem Laserstrahl getroffen werden. So ist es möglich, Koordinaten jedes Treffers bzw. von jedem Objekt im Umfeld des Kraftfahrzeugs zu bestimmen. Durch die Auswertung dieser LIDAR-Daten ist es auch möglich, Informationen über die Geländetopologie im Bereich um das Kraftfahrzeug herum zu gewinnen.LIDAR sensors offer the advantage that they can scan a 360-degree area around the motor vehicle with high resolution and speed. Typically, a LIDAR sensor uses an array of laser-based sensors (e.g. 64) that rotate at high speed (several 100 n / min). The LIDAR sensor is then able to detect obstacles hit by a laser beam. It is thus possible to determine the coordinates of every hit or of every object in the vicinity of the motor vehicle. By evaluating this LIDAR data, it is also possible to obtain information about the topology of the terrain in the area around the motor vehicle.

Ferner kann ein derartiger optischer Sensor eine 3D-Kamera bzw. Stereokamera sein. 3D-Kameras sind Kamerasysteme, die die bildliche Darstellung von Entfernungen einer ganzen Szene erlauben. Stereokameras z.B. besitzen in der Regel zwei nebeneinander angebrachte Objekte und ermöglichen beim Auslösen die gleichzeitige Aufnahme der für 3D-Bilder erforderlichen beiden stereoskopischen Halbbilder.Furthermore, such an optical sensor can be a 3D camera or stereo camera. 3D cameras are camera systems that allow the visual representation of distances from an entire scene. Stereo cameras, for example, usually have two objects attached next to each other and, when triggered, enable the two stereoscopic half-images required for 3D images to be recorded at the same time.

Um ein derartiges automatisiertes Fahren zu testen werden die Kraftfahrzeuge in der realen Welt getestet. Dies ist jedoch ein kostspieliger Vorgang und die Unfallgefahr ist hoch. Um Unfälle zu vermeiden und gleichzeitig Kosten zu senken, sind Tests in den computergenerierten virtuellen Umgebungen, wie beispielsweise Tests in virtuellen Städten, notwendig. Die VR-Technologie (Virtual-Reality-Technologie) zusammen mit einer virtuellen Umgebung eröffnet viele Möglichkeiten. Der Hauptvorteil der VR-Technologie besteht darin, dass sie einem Nutzer, wie z.B. einem Ingenieur, erlaubt, Teil der Tests zu sein, mit dem Testszenario oder den Konfigurationsparametern zu interagieren.In order to test such automated driving, the motor vehicles are tested in the real world. However, this is an expensive process and the risk of accidents is high. In order to avoid accidents and at the same time reduce costs, tests in the computer-generated virtual environments, such as tests in virtual cities, are necessary. The VR technology (Virtual Reality Technology) together with a virtual environment opens up many possibilities. The main advantage of VR technology is that it allows a user, such as an engineer, to be part of the tests, to interact with the test scenario or the configuration parameters.

Aus der US 8 665 260 B2 , der US 7 525 542 B2 , der CN 104 933 758 A und der US 2016 / 0210775 A1 sind Verfahren zur computerimplementierten Simulation eines optischen Sensors in einer virtuellen Umgebung bekannt. From the US 8 665 260 B2 , of the US 7 525 542 B2 , of the CN 104 933 758 A and US 2016/0210775 A1, methods for computer-implemented simulation of an optical sensor in a virtual environment are known.

Es besteht Bedarf daran, Wege aufzuzeigen, wie eine computerimplementierte Simulation eines optischen Sensors in einer virtuellen Umgebung, der Tiefeninformationen bereitstellt, verbessert werden kann.There is a need to show ways in which a computer-implemented simulation of an optical sensor in a virtual environment that provides depth information can be improved.

Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zur computerimplementierten Simulation eines optischen Sensors in einer virtuellen Umgebung, wobei der optische Sensor Tiefeninformationen bereitstellt, mit den Schritten:

  • Einlesen eines Wertes indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums eines Frustums des Sensors mit je einer nahen Schnittebene und einer fernen Schnittebene,
  • Bilden der Teil-Frustums gemäß dem Wert durch Anordnungen der Teil-Frustum hintereinander entlang einer optischen Achse des optischen Sensors, und
  • Füllen eines Z-Puffers mit Tiefendaten, die auf Basis der Anwendung zumindest eines Teil-Frustums gewonnen wurden.
The object of the invention is achieved by a method for the computer-implemented simulation of an optical sensor in a virtual environment, the optical sensor providing depth information, with the following steps:
  • Reading in a value indicative of a number of a plurality of partial frustums of a frustum of the sensor, each with a near cutting plane and a distant cutting plane,
  • Forming the partial frustums according to the value by arranging the partial frustums one behind the other along an optical axis of the optical sensor, and
  • Filling a Z-buffer with depth data that was obtained on the basis of the application of at least a partial frustum.

Mit anderen Worten, das Frustum des Sensors, der ein LIDAR-Sensor oder eine 3D-Kamera sein kann, wird unterteilt in eine vorbestimmte Mehrzahl von Teil-Frustums, wobei jedem Teil-Frustum ein (virtueller) Bereichssensor zum Überwachen des jeweiligen Teil-Frustum zugeordnet wird. Es werden nur Objekte in dem jeweiligen Teil-Frustum zwischen der jeweiligen nahen Schnittebene und fernen Schnittebene erfasst, außerhalb des Teil-Frustum liegende Objekte bleiben unberücksichtigt. Durch das Vorsehen einer Mehrzahl von Teil-Frustums mit je einer nahen Schnittebene und einer fernen Schnittebene kann der Abstand zwischen den jeweiligen nahen und fernen Schnittebenen minimiert werden was die Genauigkeit der Tiefendaten erhöht. Die so gewonnenen Tiefendaten können dann zum Rendern einer Szene in der virtuellen Umgebung genutzt werden. So kann eine computerimplementierte Simulation eines optischen Sensors in einer virtuellen Umgebung, der Tiefeninformationen bereitstellt, verbessert werden.In other words, the frustum of the sensor, which can be a LIDAR sensor or a 3D camera, is divided into a predetermined plurality of partial frustums, with each partial frustum having a (virtual) area sensor for monitoring the respective partial frustum is assigned. Only objects in the respective partial frustum between the respective near cutting plane and the far cutting plane are recorded; objects lying outside the partial frustum are not taken into account. By providing a plurality of partial frustums, each with a near cutting plane and a distant one Cutting plane, the distance between the respective near and far cutting planes can be minimized, which increases the accuracy of the depth data. The depth data obtained in this way can then be used to render a scene in the virtual environment. In this way, a computer-implemented simulation of an optical sensor in a virtual environment that provides depth information can be improved.

Gemäß einer Ausführungsform werden die weiteren SchritteAccording to one embodiment, the further steps

Erfassen, ob sich ein Objekt innerhalb eines Teil-Frustums befindet, und auf ein Erfassen eines Objektes innerhalb des Teil-Frustums hin die Schritte:

  • Aussenden einer vorbestimmten Anzahl von Strahlen von dem Sensor zu einem Objekt,
  • Bestimmen des Strahls der vorbestimmten Anzahl von Strahlen, der das Objekt trifft und die geringste Distanz zu dem Sensor aufweist,
  • Bestimmen einer Position einer nahen Schnittebene unter Auswertung des Strahls mit der geringsten Distanz zu dem Sensor,
  • Bestimmen eines weiteren Strahls der vorbestimmten Anzahl von Strahlen, der das Objekt trifft und die größte Distanz zu dem Sensor aufweist, und
  • Bestimmen einer Position einer fernen Schnittebene unter Auswertung des Strahls mit der größten Distanz zu dem Sensor ausgeführt.
Detecting whether an object is located within a partial frustum, and following the detection of an object within the partial frustum:
  • Sending out a predetermined number of beams from the sensor to an object,
  • Determining the beam of the predetermined number of beams that hits the object and is the closest to the sensor,
  • Determining a position of a near cutting plane while evaluating the beam with the smallest distance to the sensor,
  • Determining a further beam of the predetermined number of beams which strikes the object and is the greatest distance from the sensor, and
  • Determination of a position of a distant cutting plane carried out by evaluating the beam with the greatest distance to the sensor.

Mit anderen Worten, es wird die jeweilige Lage der nahen Schnittebene und einer fernen Schnittebene entlang der optischen Achse des Sensors angepasst, wenn in dem Teil-Frustum, das von der jeweiligen nahen Schnittebene und einer fernen Schnittebene begrenzt wird, ein Objekt erfasst wurde. Es werden dann sowohl die nahe Schnittebene als auch die ferne Schnittebene durch Verlagern entlang der optischen Achse des Sensors angepasst, und zwar in Bezug zu der Erstreckung oder Ausdehnung des Objektes in Bezug zu der optischen Achse des Sensors. Die Erstreckung oder Ausdehnung des Objektes wird bestimmt, indem eine Mehrzahl simulierter Strahlen, wie z.B. Laserstrahlen, vom Sensor ausgesendet wird und die Positionen des Auftreffens auf das Objekt bestimmt wird. So kann Nichtlinearitäten des z-Bufferings von Tiefeninformationen entgegengewirkt werden, sodass die Genauigkeit der Tiefeninformationen nochmals gesteigert ist.In other words, the respective position of the near cutting plane and a far cutting plane along the optical axis of the sensor is adapted if an object has been detected in the partial frustum that is delimited by the respective near cutting plane and a far cutting plane. Both the near cutting plane and the far cutting plane are then adjusted by shifting along the optical axis of the sensor, specifically in relation to the extension or expansion of the object in relation to the optical axis of the sensor. The extent of the object is determined by emitting a plurality of simulated beams, such as laser beams, from the sensor and determining the positions of impact on the object. In this way, non-linearities of the z-buffering of depth information can be counteracted, so that the accuracy of the depth information is further increased.

Gemäß einer weiteren Ausführungsform werden die weiteren Schritte

  • Vergleichen der geringsten Distanz mit einem vorbestimmten Nah-Grenzwert, und
  • Bestimmen einer Position einer nahen Schnittebene unter Auswertung des Nah-Grenzwertes, wenn die geringste Distanz kleiner als der Nah-Grenzwert ist ausgeführt.
According to a further embodiment, the further steps
  • Comparing the smallest distance with a predetermined near limit value, and
  • Determining a position of a near cutting plane while evaluating the near limit value when the smallest distance is smaller than the near limit value is carried out.

So kann ein Mindestabstand, unterhalb dem der Sensor kein Objekt zu erfassen vermag, besonders einfach berücksichtigt werden. Ferner kann der Fall berücksichtig werden, dass sich ein Objekt mit seiner Erstreckung oder Ausdehnung in Bezug zu der optischen Achse des Sensors in einen Bereich unterhalb des Mindestabstandes erstreckt, d.h., das Objekt ist teilweise zu nah an dem Sensor.In this way, a minimum distance below which the sensor is unable to detect an object can be taken into account in a particularly simple manner. Furthermore, the case can be taken into account that an object extends with its extension or extent in relation to the optical axis of the sensor in an area below the minimum distance, i.e. the object is partly too close to the sensor.

Gemäß einer weiteren Ausführungsform werden die weiteren Schritte

  • Vergleichen der größten Distanz mit einem vorbestimmten Fern-Grenzwert, und
  • Bestimmen einer Position einer fernen Schnittebene unter Auswertung des Fern-Grenzwertes, wenn die größte Distanz größer als der Fern-Grenzwert ist ausgeführt.
According to a further embodiment, the further steps
  • Comparing the greatest distance to a predetermined far limit, and
  • Determining a position of a distant cutting plane while evaluating the distant limit value when the greatest distance is greater than the distant limit value is carried out.

So kann in analoger Art und Weise ein Maximalabstand, oberhalb dem der Sensor kein Objekt zu erfassen vermag, besonders einfach berücksichtigt werden. Ferner kann der Fall berücksichtig werden, dass sich ein Objekt mit seiner Erstreckung oder Ausdehnung in Bezug zu der optischen Achse des Sensors in einen Bereich oberhalb des Maximalabstandes erstreckt, d.h., das Objekt ist teilweise zu weit von dem Sensor entfernt.A maximum distance above which the sensor is not able to detect an object can thus be taken into account in a particularly simple manner in an analogous manner. Furthermore, the case can be taken into account that an object extends with its extension or extent in relation to the optical axis of the sensor in an area above the maximum distance, i.e. the object is partly too far away from the sensor.

Ferner gehören zur Erfindung ein Computerprogrammprodukt und ein System zur computerimplementierten Simulation eines derartigen Sensors.The invention also includes a computer program product and a system for computer-implemented simulation of such a sensor.

Es wird nun die Erfindung anhand einer Zeichnung erläutert. Es zeigen:

  • 1 in schematischer Darstellung Komponenten eines Systems zur computerimplementierten Simulation eines optischen Sensors in einer virtuellen Umgebung.
  • 2 in schematischer Darstellung weitere Details einer computerimplementierten Simulation eines optischen Sensors in einer virtuellen Umgebung.
  • 3 in schematischer Darstellung einen Verfahrensablauf zum Betrieb des in 1 gezeigten Systems.
The invention will now be explained with reference to a drawing. Show it:
  • 1 a schematic representation of components of a system for the computer-implemented simulation of an optical sensor in a virtual environment.
  • 2 a schematic representation of further details of a computer-implemented simulation of an optical sensor in a virtual environment.
  • 3rd a schematic representation of a process sequence for operating the in 1 shown system.

Es wird zunächst auf 1 Bezug genommen.It gets on first 1 Referenced.

Dargestellt ist ein System 2 zur computerimplementierten Simulation eines optischen Sensors 6 in einer virtuellen Umgebung.A system is shown 2 for the computer-implemented simulation of an optical sensor 6th in a virtual environment.

Als virtuelle Realität, kurz VR, wird die Darstellung und gleichzeitige Wahrnehmung der Wirklichkeit und ihrer physikalischen Eigenschaften in einer in Echtzeit computergenerierten, interaktiven virtuellen Umgebung bezeichnet.Virtual reality, or VR for short, is the representation and simultaneous perception of reality and its physical properties in a real-time, computer-generated, interactive virtual environment.

Um ein Gefühl der Immersion zu erzeugen werden zur Darstellung der virtuellen Umgebung spezielle Ausgabegeräte (nicht dargestellt), wie z.B. Virtual-Reality-Headsets, verwendet. Um einen räumlichen Eindruck zu vermitteln, werden zwei Bilder aus unterschiedlichen Perspektiven erzeugt und dargestellt (Stereoprojektion).In order to create a feeling of immersion, special output devices (not shown), such as virtual reality headsets, are used to represent the virtual environment. In order to convey a spatial impression, two images are generated and displayed from different perspectives (stereo projection).

Für die Interaktion mit der virtuellen Welt werden spezielle Eingabegeräte (nicht dargestellt) benötigt, wie z.B. 3D-Maus, Datenhandschuh oder Flystick. Der Flystick wird zur Navigation mit einem optischen Trackingsystem genutzt, wobei Infrarot-Kameras durch Erfassung von Markern am Flystick permanent die Position im Raum an das System 2 melden, damit sich ein Nutzer ohne Verkabelung frei bewegen kann. Optische Trackingsysteme können auch für die Erfassung von Werkzeugen und kompletten Menschmodellen eingesetzt werden, um diese innerhalb des VR-Szenarios in Echtzeit manipulieren zu können.Special input devices (not shown), such as a 3D mouse, data glove or flystick, are required for interaction with the virtual world. The flystick is used for navigation with an optical tracking system, whereby infrared cameras permanently transmit the position in space to the system by capturing markers on the flystick 2 report so that a user can move freely without cabling. Optical tracking systems can also be used to record tools and complete human models so that they can be manipulated in real time within the VR scenario.

Einige Eingabegeräte vermitteln dem Nutzer eine Kraftrückkopplung auf die Hände oder andere Körperteile (Force Feedback), sodass der Nutzer sich durch die Haptik und Sensorik als weitere Sinnesempfindung in der virtuellen Umgebung orientieren kann.Some input devices provide the user with force feedback on the hands or other parts of the body (force feedback) so that the user can orientate himself through the haptics and sensors as a further sensory perception in the virtual environment.

Für die Erzeugung einer virtuellen Umgebung ist ferner eine speziell für diesen Zweck entwickelte Software erforderlich. Die Software muss komplexe dreidimensionale Welten in Echtzeit, d.h. mit mindestens 25 Bildern pro Sekunde, in Stereo getrennt für das linke und das rechte Auge des Nutzers berechnen können. Dieser Wert variiert je nach Anwendung - eine Fahrsimulation beispielsweise erfordert mindestens 60 Bilder pro Sekunde, um Übelkeit (Simulatorkrankheit) zu vermeiden.In addition, software specially developed for this purpose is required to create a virtual environment. The software must be able to calculate complex three-dimensional worlds in real time, i.e. with at least 25 frames per second, separately in stereo for the left and right eyes of the user. This value varies depending on the application - a driving simulation, for example, requires at least 60 images per second to avoid nausea (simulator sickness).

Der optische Sensor 6 stellt Tiefeninformationen bereit und kann im vorliegenden Ausführungsbeispiel ein LIDAR-Sensor oder eine 3D-Kamera bzw. Stereokamera sein.The optical sensor 6th provides depth information and in the present exemplary embodiment can be a LIDAR sensor or a 3D camera or stereo camera.

Von den weiteren Komponenten des Systems 2 sind in der 1 eine Rendering Engine 4, Bereichssensoren 6a, 6b, 6c des Sensors 6 und ein z-Puffer 8 dargestellt.From the other components of the system 2 are in the 1 a rendering engine 4th , Area sensors 6a , 6b , 6c of the sensor 6th and a z-buffer 8 is shown.

Das System 2, die Rendering Engine 4, der Sensor 6 mit den Bereichssensoren 6a,6b,6c und/oder der z-Puffer 8 können für ihre nachfolgend beschriebenen Aufgaben und/oder Funktionen Hard- und/oder Software-Komponenten aufweisen.The system 2 who have favourited the rendering engine 4th , the sensor 6th with the area sensors 6a , 6b, 6c and / or the z-buffer 8 can have hardware and / or software components for their tasks and / or functions described below.

Die Rendering Engine 4 ist im vorliegenden Ausführungsbeispiel eine Echtzeit-Grafik-Engine, die Z-Buffering, wie z.B. OpenGL oder DirectX verwendet.The rendering engine 4th is in the present embodiment a real-time graphics engine that uses Z-buffering, such as OpenGL or DirectX.

Die Rendering Engine 4 ist ein Teil eines Computerprogramms oder einer Computer-Hardware, eine sogenannte Engine, die für die Darstellung von der virtuellen Umgebung mit Gegenständen, einer Umwelt und Personen in Form einer Computergrafik ausgebildet ist.The rendering engine 4th is part of a computer program or computer hardware, a so-called engine, which is designed for the representation of the virtual environment with objects, an environment and people in the form of a computer graphic.

Unter Z-Buffering (auch Depth Buffering oder Tiefenspeicher-Verfahren) wird dabei ein Verfahren der Computergrafik zur Verdeckungsberechnung verstanden, also um die von einem Nutzer in der virtuellen Umgebung aus sichtbaren dreidimensionalen Flächen in der Computergrafik zu ermitteln. Durch Tiefeninformationen in Form von Tiefendaten TD in dem z-Buffer 8 stellt das Verfahren pixelweise fest, welche Elemente einer Szene gezeichnet werden müssen und welche verdeckt sind.Z-buffering (also depth buffering or depth storage method) is understood to mean a computer graphics method for calculating occlusion, i.e. to determine the three-dimensional areas in the computer graphics that are visible to a user in the virtual environment. Through depth information in the form of depth data TD In the z-buffer 8, the method determines pixel by pixel which elements of a scene have to be drawn and which are covered.

Dieser Ansatz ist bekanntlich schnell im Vergleich zu anderen Methoden, wie z.B. dem Raytracing.This approach is known to be fast compared to other methods, such as ray tracing.

Es wird nun zusätzlich auf 2 Bezug genommen.It is now additionally on 2 Referenced.

Dargestellt ist ein zu simulierender optischer Sensor 6 mit seinem Frustum F.An optical sensor to be simulated is shown 6th with his frustration F. .

Das Frustum F ist in der Computergrafik die mathematische Abbildung eines 3D-Universums auf einen Bildschirm.The frustum F. in computer graphics is the mathematical representation of a 3D universe on a screen.

Ausgehend von dem Sensor 6 wird durch die Fluchtpunktperspektive ein Objekt O in der Tiefe, d.h. entlang der optischen Achse A des Sensors 6, kleiner. Ein Nutzer bekommt den Eindruck, er blickt auf ein Ende (den Stumpf) eines Kegels. In der 3D-Grafik spricht man auch vom Sichtvolumen. Es ist ein „Pyramidenstumpf“, der das Volumen darstellt, welches vom Nutzer gesehen werden kann. Eine sogenannte Frustum-Matrix bildet die 3D-Welt auf den zweidimensionalen Bildschirm ab.Starting from the sensor 6th becomes an object through the vanishing point perspective O in depth, ie along the optical axis A. of the sensor 6th , smaller. A user gets the impression that he is looking at one end (the stump) of a cone. In 3D graphics, one also speaks of the visual volume. It is a “truncated pyramid” that represents the volume that can be seen by the user. A so-called frustum matrix depicts the 3D world on the two-dimensional screen.

Das Frustum F hat also die Gestalt einer abgeschnittenen Pyramide, deren Basis im vorliegenden Ausführungsbeispiel die in Richtung der Achse A letzte ferne Schnittebene FS3. In Richtung der Achse A jenseits der letzten fernen Schnittebene FS3 soll nichts mehr durch Rendern visualisiert werden.The frustum F. thus has the shape of a truncated pyramid, the base of which in the present exemplary embodiment is in the direction of the axis A. last distant cutting plane FS3 . In the direction of the axis A. beyond the last distant cutting plane FS3 nothing should be visualized by rendering anymore.

Die im vorliegenden Ausführungsbeispiel die in Richtung der Achse A erste nahe Schnittebene NS1 hingegen entspricht einer Position des Nutzers, der in Richtung der Pyramidenbasis blickt. Alles, was in der Pyramide zwischen der ersten nahen Schnittebene NS1 und dem Sensor 6 liegt, liegt quasi hinter dem Nutzer. Die Seitenwände der Pyramide sind die Ebenen, die den Bildschirmrand repräsentieren.In the present exemplary embodiment, the one in the direction of the axis A. In contrast, the first close cutting plane NS1 corresponds to a position of the user who is looking in the direction of the pyramid base. Everything in the pyramid between the first close cutting plane NS1 and the sensor 6th lies behind the user. The side walls of the pyramid are the levels that represent the edge of the screen.

Um im Sichtbereich des Sensors 6 zu liegen, muss das Objekt O innerhalb des Frustums F liegen.To be in the field of vision of the sensor 6th to lie, the object must O within the frustration F. lie.

Im vorliegenden Ausführungsbeispiel ist die Rendering Engine 4 des Systems 2 dazu ausgebildet, einen vorbestimmten Wert W indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums F1, F2, F3 des Frustums F des Sensors 6 einzulesen und eine dem Wert W entsprechende Anzahl von Teil-Frustums F1, F2, F3 zu bilden.In the present exemplary embodiment, the rendering engine is 4th of the system 2 designed to have a predetermined value W. indicative of a number of a plurality of partial frustums F1 , F2 , F3 of frustration F. of the sensor 6th read in and one of the value W. corresponding number of partial frustums F1 , F2 , F3 to build.

Dabei weist jedes Teil-Frustum F1, F2, F3 je eine nahe Schnittebene NS1, NS2, NS3 und eine ferne Schnittebene FS1, FS2, FS3 auf.In doing so, each has partial frustum F1 , F2 , F3 one near section plane NS1 each, NS2 , NS3 and a distant cutting plane FS1 , FS2 , FS3 on.

Die Rendering Engine 4 ordnet die so gebildeten Teil-Frustums F1, F2, F3 entlang der optischen Achse A hintereinander liegend an. Im vorliegenden Ausführungsbeispiel fallen die nahe Schnittebene NS2 des zweiten Teil-Frustums F2 und die ferne Schnittebene FS1 des ersten Teil-Frustums F1 zusammen. Ebenso fallen die nahe Schnittebene NS3 des dritten Teil-Frustums F3 und die ferne Schnittebene FS2 des zweiten Teil-Frustums F2 zusammen.The rendering engine 4th arranges the part-frustums so formed F1 , F2 , F3 along the optical axis A. lying one behind the other. In the present embodiment, the near cutting plane falls NS2 of the second part frustum F2 and the far cutting plane FS1 of the first part frustration F1 together. Likewise fall the near cutting plane NS3 the third part frustum F3 and the far cutting plane FS2 of the second part frustum F2 together.

Jedem Teil-Frustum F1, F2, F3 ist dann je ein Bereichssensor 6a, 6b, 6c des Sensors 6 zugeordnet.Every part frustum F1 , F2 , F3 is then an area sensor each 6a , 6b , 6c of the sensor 6th assigned.

Die Rendering Engine 4 ist ferner dazu ausgebildet, auf ein Erfassen des Objektes O in z.B. dem Teil-Frustum F1 hin eine vorbestimmte Anzahl von simulierten Strahlen ST von dem Sensor 6, im vorliegenden Ausführungsbeispiel von dem Bereichssensor 6a, zu einem Objekt O auszusenden.The rendering engine 4th is also designed to respond to a detection of the object O in e.g. the partial frustum F1 a predetermined number of simulated beams ST from the sensor 6th , in the present exemplary embodiment from the area sensor 6a , to an object O to send out.

Des Weiteren ist die Rendering Engine 4 dazu ausgebildet, den Strahl aus der Anzahl der Strahlen ST zu bestimmen, der das Objekt O trifft und die geringste Distanz D1 zu dem Sensor 6 aufweist. In Höhe dieser Position wird dann die nahe Schnittebene NS1 des ersten Teil-Frustums F1 angeordnet.Furthermore is the rendering engine 4th designed to select the beam from the number of beams ST to determine who the object O hits and the smallest distance D1 to the sensor 6th having. The near cutting plane NS1 of the first partial frustum then becomes at the level of this position F1 arranged.

Analog bestimmt die Rendering Engine 4 dazu einen weiteren Strahl der Strahlen ST, der das Objekt O ebenfalls trifft und die größte Distanz D2 zu dem Sensor 6 aufweist. In Höhe dieser Position wird dann die ferne Schnittebene FS1 des ersten Teil-Frustums F1 angeordnet.The rendering engine determines in the same way 4th plus another ray of rays ST who is the object O also hits and the greatest distance D2 to the sensor 6th having. The far cutting plane is then at the height of this position FS1 of the first part frustration F1 arranged.

Mit anderen Worten, der Teilabstand x1 des Gesamtabstandes x wird verringert. Es kann vorgesehen sein, dass der Teilabstand x2 entsprechend angepasst wird, sodass keine Lücken zwischen den Teil-Frustums F1 und F2 entstehen. Mit anderen Worten, der Teilabstand x2 des Gesamtabstandes x wird entsprechend vergrößert.In other words, the partial distance x1 of the total distance x is reduced. It can be provided that the partial distance x2 is adjusted accordingly, so that there are no gaps between the partial frustums F1 and F2 arise. In other words, the partial distance x2 of the total distance x is enlarged accordingly.

Ferner ist die Rendering Engine 4 dazu ausgebildet die geringste Distanz D1 mit einem vorbestimmten Nah-Grenzwert NG zu vergleichen und die nahe Schnittebene NS1 in Höhe der Position des Nah-Grenzwertes NG anzuordnen. So kann ein Mindestabstand, unterhalb dem der Bereichssensor 6a kein Objekt zu erfassen vermag, besonders einfach berücksichtigt werden.Furthermore is the rendering engine 4th designed for the smallest distance D1 with a predetermined near limit value NG to compare and the near cutting plane NS1 at the level of the position of the near limit value NG to arrange. So there can be a minimum distance below which the area sensor 6a cannot detect any object, can be taken into account particularly easily.

Um in analoger Art und Weise einen Maximalabstand, oberhalb dem der Bereichssensor 6a kein Objekt zu erfassen vermag, zu berücksichtigen ist vorgesehen, dass die größte Distanz 2 mit einem vorbestimmten Fern-Grenzwert FG verglichen wird und in Höhe dieser Position die ferne Schnittebene FS1 des ersten Teil-Frustums F1 angeordnet wird.In an analogous way to achieve a maximum distance above which the range sensor 6a Cannot detect an object, it is provided that the greatest distance is taken into account 2 with a predetermined remote limit value FG is compared and at the level of this position the distant cutting plane FS1 of the first part frustration F1 is arranged.

Schließlich füllt dann die Rendering Engine 4den Z-Puffer 8 mit Tiefendaten TD, die auf Basis der Anwendung des Teil-Frustums F1 gewonnen wurden.Finally, the rendering engine 4 then fills the Z-buffer 8th with depth data TD that is based on the application of the partial frustum F1 were won.

Es wird nun zusätzlich auf 3 Bezug genommen, um einen Verfahrensablauf zum Betrieb des in 1 gezeigten Systems 2 zu erläutern.It is now additionally on 3rd Reference is made to a process flow for operating the in 1 shown system 2 to explain.

In einem ersten Schritt S100 liest die Rendering Engine 4 des Systems 2 den Wert W indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums F1, F2, F3 des Frustums F des Sensors 6 ein.In a first step S100 reads the rendering engine 4th of the system 2 the value W. indicative of a number of a plurality of partial frustums F1 , F2 , F3 of frustration F. of the sensor 6th on.

In einem weiteren Schritt S200 bildet die Rendering Engine 4 des Systems 2 die Teil-Frustums F1, F2, F3 gemäß dem Wert W durch Anordnungen der Teil-Frustums F1, F2, F3 hintereinander entlang der optischen Achse A.In a further step S200 forms the rendering engine 4th of the system 2 the part frustums F1 , F2 , F3 according to the value W. by arrangements of the part-frustums F1 , F2 , F3 one behind the other along the optical axis A. .

In einem weiteren Schritt S300 erfasst die Rendering Engine 4 des Systems 2, ob sich ein Objekt O innerhalb eines Teil-Frustums F1, F2, F3 befindet.In a further step S300 captures the rendering engine 4th of the system 2 whether there is an object O within a partial frustration F1 , F2 , F3 is located.

Wenn dies der Fall ist sendet in einem weiteren Schritt S400 die Rendering Engine 4 des Systems 2 eine vorbestimmte Anzahl von Strahlen ST von dem Sensor 6 zu dem Objekt O aus.If this is the case, sends in a further step S400 the rendering engine 4th of the system 2 a predetermined number of beams ST from the sensor 6th to the object O out.

In einem weiteren Schritt S500 bestimmt die Rendering Engine 4 des Systems 2 den Strahl der vorbestimmten Anzahl von Strahlen ST, der das Objekt O trifft und die geringste Distanz D1 zu dem Sensor 6 aufweist.In a further step S500 determines the rendering engine 4th of the system 2 the beam of the predetermined number of beams ST who is the object O hits and the smallest distance D1 to the sensor 6th having.

In einem weiteren Schritt S600 vergleicht die Rendering Engine 4 des Systems 2 die geringste Distanz D1 mit dem vorbestimmten Nah-Grenzwert NG.In a further step S600 compares the rendering engine 4th of the system 2 the smallest distance D1 with the predetermined near limit value NG .

Wenn die geringste Distanz D1 kleiner als der Nah-Grenzwert NG ist bestimmt in einem weiteren Schritt S700 die Rendering Engine 4 des Systems 2 die Position der nahen Schnittebene NS1, NS2, NS3 unter Auswertung des Nah-Grenzwertes NG.When the slightest distance D1 smaller than the near limit value NG is determined in a further step S700 the rendering engine 4th of the system 2 the position of the near cutting plane NS1, NS2 , NS3 while evaluating the near limit value NG .

Wenn hingegen die geringste Distanz D1 größer als der Nah-Grenzwert NG ist bestimmt in einem weiteren Schritt S800 die Rendering Engine 4 des Systems 2 die Position der nahen Schnittebene NS1, NS2, NS3 unter Auswertung der geringsten Distanz D1.If, on the other hand, the smallest distance D1 greater than the near limit value NG is determined in a further step S800 the rendering engine 4th of the system 2 the position of the near cutting plane NS1, NS2 , NS3 evaluating the smallest distance D1 .

In einem weiteren Schritt S900 bestimmt die Rendering Engine 4 des Systems 2 den Strahl der vorbestimmten Anzahl von Strahlen ST, der das Objekt O trifft und die größte Distanz D2 zu dem Sensor 6 aufweist,In a further step S900 determines the rendering engine 4th of the system 2 the beam of the predetermined number of beams ST who is the object O meets and the greatest distance D2 to the sensor 6th having,

In einem weiteren Schritt S1000 vergleicht die Rendering Engine 4 des Systems 2 die größte Distanz D2 mit dem vorbestimmten Fern-Grenzwert FG.In a further step S1000 compares the rendering engine 4th of the system 2 the greatest distance D2 with the predetermined remote limit value FG .

Wenn die größte Distanz D2 größer als der Fern-Grenzwert FG ist bestimmt in einem weiteren Schritt S1100 die Rendering Engine 4 des Systems 2 die Position der fernen Schnittebene FS1, FS2, FS3 unter Auswertung des Fern-Grenzwertes FG.When the greatest distance D2 greater than the remote limit FG is determined in a further step S1100 the rendering engine 4th of the system 2 the position of the far cutting plane FS1 , FS2 , FS3 while evaluating the remote limit value FG .

Wenn hingegen die größte Distanz D2 kleiner als der Fern-Grenzwert FG ist bestimmt in einem weiteren Schritt S1200 die Rendering Engine 4 des Systems 2 die Position der fernen Schnittebene FS1, FS2, FS3 unter Auswertung der größten Distanz D2.If, on the other hand, the greatest distance D2 less than the remote limit FG is determined in a further step S1200 the rendering engine 4th of the system 2 the position of the far cutting plane FS1 , FS2 , FS3 evaluating the greatest distance D2 .

Schließlich füllt in einem weiteren Schritt S1300 die Rendering Engine 4 des Systems 2 den Z-Puffer 8 mit Tiefendaten TD, die auf Basis der Anwendung des Teil-Frustums F1, F2, F3 gewonnen wurden.Finally, it fills in another step S1300 the rendering engine 4th of the system 2 the Z-buffer 8th with depth data TD that is based on the application of the partial frustum F1 , F2 , F3 were won.

Abweichend vom vorliegenden Ausführungsbeispiel kann die Reihenfolge der Schritte auch eine andere sein. Ferner können mehrere Schritte auch zeitgleich bzw. simultan ausgeführt werden. Des Weiteren können auch abweichend vom vorliegenden Ausführungsbeispiel einzelne Schritte übersprungen oder ausgelassen werden.In a departure from the present exemplary embodiment, the sequence of the steps can also be different. Furthermore, several steps can also be carried out at the same time or simultaneously. Furthermore, different from the present exemplary embodiment, individual steps can also be skipped or omitted.

So kann eine computerimplementierte Simulation eines optischen Sensors 6 in einer virtuellen Umgebung, der Tiefeninformationen bereitstellt, verbessert werden.A computer-implemented simulation of an optical sensor 6th in a virtual environment that provides depth information.

BezugszeichenlisteList of reference symbols

22
Systemsystem
44th
Rendering EngineRendering engine
66th
Sensorsensor
6a6a
BereichssensorArea sensor
6b6b
BereichssensorArea sensor
6c6c
BereichssensorArea sensor
88th
z-Puffer z buffer
AA.
Achseaxis
D1D1
geringste Distanzsmallest distance
D2D2
größte Distanzgreatest distance
FF.
FrustumFrustration
F1F1
Teil-FrustumPartial frustum
F2F2
Teil-FrustumPartial frustum
F3F3
Teil-FrustumPartial frustum
FGFG
Fern-GrenzwertRemote limit value
FS1FS1
ferne Schnittebenedistant cutting plane
FS2FS2
ferne Schnittebenedistant cutting plane
FS3FS3
ferne Schnittebenedistant cutting plane
NGNG
Nah-GrenzwertNS1 nahe SchnittebeneNear limit value NS1 near cutting plane
NS2NS2
nahe Schnittebenenear cutting plane
NS3NS3
nahe Schnittebenenear cutting plane
OO
Objektobject
STST
StrahlenRays
TD-TD-
TiefendatenDepth data
WW.
Wertvalue
xx
GesamtabstandTotal distance
x1x1
TeilabstandPartial spacing
x2x2
TeilabstandPartial spacing
x3x3
Teilabstand Partial spacing
S100S100
Schrittstep
S200S200
Schrittstep
S300S300
Schrittstep
S400S400
Schrittstep
S500S500
Schrittstep
S600S600
Schrittstep
S700S700
Schrittstep
S800S800
Schrittstep
S900S900
Schrittstep
S1000S1000
Schrittstep
S1100S1100
Schrittstep
S1200S1200
Schrittstep
S1300S1300
Schrittstep

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • US 8665260 B2 [0008]US 8665260 B2 [0008]
  • US 7525542 B2 [0008]US 7525542 B2 [0008]
  • CN 104933758 A [0008]CN 104933758 A [0008]

Claims (9)

Verfahren zur computerimplementierten Simulation eines optischen Sensors (6) in einer virtuellen Umgebung, wobei der optische Sensor (6) Tiefeninformationen bereitstellt, mit den Schritten: (S100) Einlesen eines Wertes (W) indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums (F1, F2, F3) eines Frustums (F) des Sensors (6) mit je einer nahen Schnittebene (NS1, NS2, NS3) und einer fernen Schnittebene (FS1, FS2, FS3), (S200) Bilden der Teil-Frustums (F1, F2, F3) gemäß dem Wert (W) durch Anordnungen der Teil-Frustum (F1, F2, F3) hintereinander entlang einer optischen Achse (A) des optischen Sensors (6), und (S1300) Füllen eines Z-Puffers (8) mit Tiefendaten (TD), die auf Basis der Anwendung zumindest eines Teil-Frustums (F1, F2, F3) gewonnen wurden.Method for the computer-implemented simulation of an optical sensor (6) in a virtual environment, the optical sensor (6) providing depth information, with the following steps: (S100) Reading in a value (W) indicative of a number of a plurality of partial frustums (F1, F2, F3) of a frustum (F) of the sensor (6), each with a near cutting plane (NS1, NS2, NS3) and one far cutting plane (FS1, FS2, FS3), (S200) Forming the partial frustums (F1, F2, F3) according to the value (W) by arranging the partial frustums (F1, F2, F3) one behind the other along an optical axis (A) of the optical sensor (6), and (S1300) Filling a Z-buffer (8) with depth data (TD) which have been obtained on the basis of the application of at least one partial frustum (F1, F2, F3). Verfahren nach Anspruch 1, mit den weiteren Schritten: (S300) Erfassen, ob sich ein Objekt (O) innerhalb eines Teil-Frustums (F1, F2, F3) befindet, und auf ein Erfassen eines Objektes (O) innerhalb des Teil-Frustums (F1, F2, F3) hin Ausführen der Schritte: (S400) Aussenden einer vorbestimmten Anzahl von Strahlen (ST) von dem Sensor (6) zu einem Objekt (O), (S500) Bestimmen des Strahls der vorbestimmten Anzahl von Strahlen (ST), der das Objekt (O) trifft und die geringste Distanz (D1) zu dem Sensor (6) aufweist, (S800) Bestimmen einer Position einer nahen Schnittebene (NS1, NS2, NS3) unter Auswertung des Strahls mit der geringsten Distanz (D1) zu dem Sensor (6), (S900) Bestimmen eines weiteren Strahls der vorbestimmten Anzahl von Strahlen (ST), der das Objekt (O) trifft und die größte Distanz (D2) zu dem Sensor (6) aufweist, und (S1200) Bestimmen einer Position einer fernen Schnittebene (FS1, FS2, FS3) unter Auswertung des Strahls mit der größten Distanz (D2) zu dem Sensor (6).Procedure according to Claim 1 , with the further steps: (S300) Detection of whether an object (O) is located within a partial frustum (F1, F2, F3), and for detection of an object (O) within the partial frustum (F1, F2 , F3) carrying out the steps: (S400) emitting a predetermined number of beams (ST) from the sensor (6) to an object (O), (S500) determining the beam of the predetermined number of beams (ST), which the Object (O) hits and has the smallest distance (D1) to the sensor (6), (S800) determining a position of a near cutting plane (NS1, NS2, NS3) while evaluating the beam with the smallest distance (D1) to the sensor (6), (S900) determining a further beam of the predetermined number of beams (ST) which hits the object (O) and is the greatest distance (D2) from the sensor (6), and (S1200) determining a position of a far cutting plane (FS1, FS2, FS3) while evaluating the beam with the greatest distance (D2) to the sensor (6). Verfahren nach Anspruch 2, mit den weiteren Schritten: (S600) Vergleichen der geringsten Distanz (D1) mit einem vorbestimmten Nah-Grenzwert (NG), und (S700) Bestimmen einer Position einer nahen Schnittebene (NS1, NS2, NS3) unter Auswertung des Nah-Grenzwertes (NG), wenn die geringste Distanz (D1) kleiner als der Nah-Grenzwert (NG) ist.Procedure according to Claim 2 , with the further steps: (S600) comparing the smallest distance (D1) with a predetermined near limit value (NG), and (S700) determining a position of a near cutting plane (NS1, NS2, NS3) while evaluating the near limit value ( NG), if the smallest distance (D1) is smaller than the near limit value (NG). Verfahren nach Anspruch 2 oder 3, (S1000) Vergleichen der größten Distanz (D2) mit einem vorbestimmten Fern-Grenzwert (FG), und (S1100) Bestimmen einer Position einer fernen Schnittebene unter Auswertung des Fern-Grenzwertes (FG), wenn die größte Distanz (D2) größer als der Fern-Grenzwert (NG) ist.Procedure according to Claim 2 or 3rd , (S1000) comparing the greatest distance (D2) with a predetermined far limit value (FG), and (S1100) determining a position of a far cutting plane while evaluating the far limit value (FG) if the greatest distance (D2) is greater than is the remote limit value (NG). Computerprogrammprodukt, ausgebildet zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 4.Computer program product designed to carry out a method according to one of the Claims 1 to 4th . System (2) zur computerimplementierten Simulation eines optischen Sensors (6) in einer virtuellen Umgebung, wobei der optische Sensor (6) Tiefeninformationen bereitstellt, wobei das System (2) dazu ausgebildet ist, einen Wert (W) indikativ für eine Anzahl einer Mehrzahl von Teil-Frustums (F1, F2, F3) eines Frustums (F) des Sensors (6) mit je einer nahen Schnittebene (NS1, NS2, NS3) und einer fernen Schnittebene (FS1, FS2, FS3) einzulesen, zum Bilden der Teil-Frustums (F1, F2, F3) gemäß der Wert (W) durch Anordnungen der Teil-Frustums (F1, F2, F3) hintereinander entlang einer optischen Achse (A) des optischen Sensors (6), und zum Füllen eines Z-Puffers (8) mit Tiefendaten (TD), die auf Basis der Anwendung zumindest eines Teil-Frustums (F1, F2, F3) gewonnen wurden.System (2) for the computer-implemented simulation of an optical sensor (6) in a virtual environment, the optical sensor (6) providing depth information, the system (2) being designed to generate a value (W) indicative of a number of a plurality of Partial frustums (F1, F2, F3) of a frustum (F) of the sensor (6) each with a near cutting plane (NS1, NS2, NS3) and a distant cutting plane (FS1, FS2, FS3) to be read in to form the Frustums (F1, F2, F3) according to the value (W) by arranging the partial frustums (F1, F2, F3) one behind the other along an optical axis (A) of the optical sensor (6), and for filling a Z-buffer ( 8) with depth data (TD) obtained on the basis of the application of at least one partial frustum (F1, F2, F3). System (2) nach Anspruch 6, wobei das System (2) dazu ausgebildet ist, zu erfassen, ob sich ein Objekt (O) innerhalb eines Teil-Frustums (F1, F2, F3) befindet, und auf ein Erfassen eines Objektes (O) innerhalb des Teil-Frustums (F1, F2, F3) hin eine vorbestimmte Anzahl von Strahlen (ST) von dem Sensor (6) zu einem Objekt (O) auszusenden, den Strahl der vorbestimmten Anzahl von Strahlen (ST) zu bestimmen, der das Objekt (O) trifft und die geringste Distanz (D1) zu dem Sensor (6) aufweist, eine Position einer nahen Schnittebene (NS1, NS2, NS3) unter Auswertung des Strahls mit der geringsten Distanz (D1) zu dem Sensor (6) zu bestimmen, einen weiteren Strahl der vorbestimmten Anzahl von Strahlen (ST) zu bestimmen, der das Objekt (O) trifft und die größte Distanz (D2) zu dem Sensor (6) aufweist und eine Position einer fernen Schnittebene (FS1, FS2, FS3) unter Auswertung des Strahls mit der größten Distanz (D2) zu dem Sensor (6) zu bestimmen.System (2) according to Claim 6 , the system (2) being designed to detect whether an object (O) is located within a partial frustum (F1, F2, F3), and to detect an object (O) within the partial frustum ( F1, F2, F3) to emit a predetermined number of beams (ST) from the sensor (6) to an object (O), to determine the beam of the predetermined number of beams (ST) that hits the object (O) and the smallest distance (D1) to the sensor (6) to determine a position of a near cutting plane (NS1, NS2, NS3) by evaluating the beam with the smallest distance (D1) to the sensor (6), another beam of the to determine a predetermined number of beams (ST) which hits the object (O) and the greatest distance (D2) to the sensor (6) and a position of a distant cutting plane (FS1, FS2, FS3) while evaluating the beam with the to determine the greatest distance (D2) to the sensor (6). System (2) nach Anspruch 6 oder 7, wobei das System (2) dazu ausgebildet ist die geringste Distanz (D1) mit einem vorbestimmten Nah-Grenzwert (NG) zu vergleichen und eine Position einer nahen Schnittebene (NS1, NS2, NS3) unter Auswertung des Nah-Grenzwertes (NG) zu bestimmen, wenn die geringste Distanz (D1) kleiner als der Nah-Grenzwert (NG) ist.System (2) according to Claim 6 or 7th , the system (2) being designed to compare the smallest distance (D1) with a predetermined near limit value (NG) and assign a position to a near cutting plane (NS1, NS2, NS3) while evaluating the near limit value (NG) determine if the smallest distance (D1) is less than the near limit value (NG). System (2) nach Anspruch 6, 7 oder 8, wobei das System (2) dazu ausgebildet ist die größte Distanz (D2) mit einem vorbestimmten Fern-Grenzwert (FG) zu vergleichen und eine Position einer fernen Schnittebene unter Auswertung des Fern-Grenzwertes (FG) zu bestimmen, wenn die größte Distanz (D2) größer als der Fern-Grenzwert (NG) ist.System (2) according to Claim 6 , 7th or 8th , the system (2) being designed to compare the greatest distance (D2) with a predetermined remote limit value (FG) and to determine a position of a remote cutting plane while evaluating the remote Limit value (FG) to be determined if the greatest distance (D2) is greater than the remote limit value (NG).
DE102019125612.7A 2019-09-24 2019-09-24 Method for the computer-implemented simulation of an optical sensor in a virtual environment Pending DE102019125612A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019125612.7A DE102019125612A1 (en) 2019-09-24 2019-09-24 Method for the computer-implemented simulation of an optical sensor in a virtual environment
CN202010977169.8A CN112634342A (en) 2019-09-24 2020-09-17 Method for computer-implemented simulation of optical sensors in a virtual environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019125612.7A DE102019125612A1 (en) 2019-09-24 2019-09-24 Method for the computer-implemented simulation of an optical sensor in a virtual environment

Publications (1)

Publication Number Publication Date
DE102019125612A1 true DE102019125612A1 (en) 2021-03-25

Family

ID=74846450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019125612.7A Pending DE102019125612A1 (en) 2019-09-24 2019-09-24 Method for the computer-implemented simulation of an optical sensor in a virtual environment

Country Status (2)

Country Link
CN (1) CN112634342A (en)
DE (1) DE102019125612A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113171173B (en) * 2021-04-28 2024-09-17 上海电气集团股份有限公司 VR preoperative planning method and system for surgical robot

Also Published As

Publication number Publication date
CN112634342A (en) 2021-04-09

Similar Documents

Publication Publication Date Title
DE102017107396B4 (en) Test procedure and test device for driver assistance systems
DE102021101270A1 (en) TRAINING A NEURAL NETWORK OF A VEHICLE
DE112016001150T5 (en) ESTIMATION OF EXTRINSIC CAMERA PARAMETERS ON THE BASIS OF IMAGES
DE102014006732A1 (en) Image overlay of virtual objects in a camera image
DE102019215903A1 (en) Method and device for generating training data for a recognition model for recognizing objects in sensor data of a sensor, in particular of a vehicle, method for training and method for actuation
DE102019125612A1 (en) Method for the computer-implemented simulation of an optical sensor in a virtual environment
DE102019125075A1 (en) Method for the computer-implemented simulation of a LIDAR sensor in a virtual environment
DE102022105025A1 (en) System for distance measurement of objects with a 2D image sensor
EP3534240A1 (en) Method and device for data annotation
WO2021130302A2 (en) Method for controlling smart glasses while a motor vehicle is travelling and display apparatus, motor vehicle, analysis circuit and vr system
EP3352139B1 (en) Method for representing the surroundings of a vehicle
DE102011005368A1 (en) Driver assistance system for vehicle, particularly designed as assistance system for shunters or for parking vehicle, has video camera, by which video image of surrounding area of vehicle is recorded with objects
DE102015201642B4 (en) Device and method for displaying the surroundings of a vehicle
DE102012010799B4 (en) Method for the spatial visualization of virtual objects
EP1875167A1 (en) Three-dimensional digital road map representation process
DE102022104134B4 (en) Method and processor circuit and computer program for controlling data glasses for route-adaptive playback of a sequence of predetermined events in a virtual environment while driving a motor vehicle and associated data glasses
DE102012016765A1 (en) Motor car simulation system for simulating and optimizing outer mirror to guide motor car, has simulation device virtually and three-dimensionally simulating mirror and image visible in mirror based on parameters of situation and mirror
DE102018116173A1 (en) Operating a driver assistance system for a motor vehicle
DE102019130032B4 (en) Method, computer program product and system for generating an image data set for a computer-implemented simulation
DE102012209917A1 (en) Method for transforming real-world visual information in virtual three-dimensional environments, involves time-synchronized recording of raw data for test person in real world system with detection of head movements of test person
DE102022205393A1 (en) Method for operating an information system, computer program product and vehicle
DE102015120927A1 (en) Method for displaying a simulation environment
WO2020207845A1 (en) Method for assigning at least one object feature to at least one sub-point set of a 3d point cloud
DE102021212928A1 (en) Method, computer program and device for testing installation or removal of at least one component
DE102022126322A1 (en) Method for operating a driver assistance system for a motor vehicle, driver assistance system for a motor vehicle and motor vehicle with a driver assistance system