-
Die Erfindung betrifft ein Verfahren zum Durchführen von Tests in einer virtuellen Umgebung. Ferner betrifft die Erfindung ein Computerprogrammprodukt und ein System zum Durchführen von derartigen Tests.
-
Unter einem selbstfahrenden Kraftfahrzeug wird ein Kraftfahrzeug verstanden, das ohne Einfluss eines menschlichen Fahrers fahren, steuern und einparken kann (hochautomatisiertes Fahren 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.
-
Derartige, autonome Kraftfahrzeuge können mithilfe verschiedener Sensoren ihre Umgebung wahrnehmen und aus den erfassten Umfelddaten ihre eigene Position und die der anderen Verkehrsteilnehmer bestimmen, in Zusammenarbeit mit der Navigationssoftware ein Fahrziel ansteuern und Kollisionen auf dem Weg dorthin vermeiden.
-
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 Testingenieuren erlaubt, Teil der Tests zu sein, mit dem Testszenario oder den Konfigurationsparametern zu interagieren.
-
Derartige, virtuelle Tests werden z.Zt. an einem einzigen Ort bzw. in einem Labor durchgeführt, an dem sich die Computer befinden. Daher müssen sich an diesem Ort Testingenieure versammeln um zusammenarbeiten zu können, was gegebenenfalls Dienstreisen erforderlich macht.
-
Eine der wichtigsten Anforderungen an dem VR-System ist das Echtzeit-Rendering und die Simulation. Wenn die Anzahl der Komponenten in der virtuellen Umgebung zunimmt und damit die physikalische Simulation komplexer wird es unmöglich, eine virtuelle Umgebung mit einem einzelnen Arbeitsplatzrechner in Echtzeit zu betreiben. Dies gilt insbesondere dann, wenn die Virtual Reality-Elemente, wie z.B. Tracking-Systeme, mehrere Displays für mehrere Nutzer verwenden.
-
Verfahren zum Testen von Kraftfahrzeugen in einer virtuellen Umgebung sind aus der
US 2015 / 0310758 A1 , der
US 2017 / 0083794 A1 , der
US 2017 / 0076019 A1 , der
US 2017 / 0132118 A1 und der
CN 103592854 A bekannt.
-
Es besteht also Bedarf daran, Wege aufzuzeigen, wie mehrere Nutzer an verschiedenen Orten zeitgleich derartige Tests in einer virtuellen Umgebung durchführen können.
-
Die Aufgabe der Erfindung wird gelöst durch ein Verfahren zum Durchführen von Tests in einer virtuellen Umgebung mit einem als verteiltes System ausgebildeten System mit zumindest einen Knotenrechner mit einem VR-Modul, einem Tracking-Modul und einem Physiksimulations-Modul, mit den Schritten:
- Bereitstellen eines Physik-Datensatzes repräsentativ für eine Simulation durch das Physiksimulations-Modul,
- Bereitstellen eines Tracking-Datensatzes repräsentativ für die Simulation durch das Tracking-Modul, und
- Einlesen und Auswerten des Physik-Datensatzes und des Tracking-Datensatzes um einen Bild-Datensatz für die Simulation durch das VR-Modul bereitzustellen.
-
Mit einem derartigen, verteilten System kann eine echte Nebenläufigkeit realisiert werden, d.h., dass mehrere Prozesse gleichzeitig ausgeführt werden können.
-
Gemäß einer Ausführungsform wird jedem Nutzer von einer Mehrzahl von Nutzern des Systems ein Knotenrechner zugeordnet. So kann das System besonders einfach skaliert werden und so an eine Mehrzahl bzw. größer werdenden Anzahl von Nutzern angepasst werden.
-
Gemäß einer weiteren Ausführungsform weist der Tracking-Datensatz Daten repräsentativ für Körper und/oder Gesicht und/oder Mimik und/oder Gesten und/oder Sprache eines Nutzers auf. So kann einen anderen Nutzer ein Körper und/oder Gesicht eines anderen Nutzers in der virtuellen Umgebung visualisiert werden. Des Weiteren können so Nutzer innerhalb der virtuellen Umgebung mittels Mimik und/oder Gesten und/oder Sprache miteinander kommunizieren.
-
Ferner gehören zur Erfindung ein Computerprogrammprodukt und ein System zum Durchführen von derartigen Tests.
-
Es wird nun die Erfindung anhand einer Zeichnung erläutert. Es zeigen:
- 1 in schematischer Darstellung einem Konten des Systems zugeordnete Komponenten.
- 2 ein System mit mehreren Knotenrechner.
- 3 in schematischer Darstellung einen Verfahrensablauf.
-
Es wird zunächst auf die 1 und 2 Bezug genommen.
-
Dargestellt ist ein System 2 zum Durchführen von Tests, wie z.B. zum Testen von autonomen Kraftfahrzeugen, in einer virtuellen Umgebung, wie z.B. einer virtuellen Stadt.
-
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.
-
Einige Anforderungen an eine virtuelle Umgebung sind z.B. Immersion, Plausibilität, Interaktivität und Wiedergabetreue.
-
Immersion beschreibt die Einbettung des Nutzers in die virtuelle Umgebung. Die Wahrnehmung des Nutzers in der realen Welt wird vermindert und der Nutzer fühlt sich mehr als Person in der virtuellen Umgebung.
-
Eine virtuelle Welt wird von einem Nutzer als plausibel angesehen, wenn die Interaktion in ihr logisch und stimmig ist. Dies betrifft einerseits das Gefühl des Nutzers, dass die eigenen Aktionen auf die virtuelle Umgebung Einfluss haben, jedoch auch, dass die Ereignisse in der Umgebung die Sinne des Nutzers beeinflussen, er also in der virtuellen Welt agieren kann. Durch diese Interaktivität wird die Illusion geschaffen, dass das, was zu passieren scheint, tatsächlich passiert.
-
Wiedergabetreue wird erreicht, wenn die virtuelle Umgebung genau und naturgetreu gestaltet wird. Dies geschieht, wenn die virtuelle Welt Eigenschaften einer natürlichen Welt abbildet, sie erscheint dem Nutzer dann glaubwürdig.
-
Um das Gefühl der Immersion zu erzeugen werden zur Darstellung der virtuellen Umgebung spezielle Ausgabegeräte, wie z.B. Virtual-Reality-Headsets, verwendet. Um einen räumlichen Eindruck zu vermitteln, werden zwei Bilder aus unterschiedlichen Perspektiven erzeugt und dargestellt (Stereoprojektion).
-
Für die Interaktion mit der virtuellen Welt werden spezielle Eingabegeräte benötigt, wie z.B. 3D-Maus, Datenhandschuh oder Flystick sowie das unidirektionale Laufband. 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 VR-System melden, damit sich der 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.
-
Einige Eingabegeräte vermitteln dem Nutzer eine Kraftrückkopplung auf die Hände oder andere Körperteile (Force Feedback), so dass der Nutzer sich durch die Haptik und Sensorik als weitere Sinnesempfindung in der dreidimensionalen Welt orientieren und realitätsnahe Simulationen durchführen kann.
-
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 linkes und rechtes 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.
-
Eine derartige virtuelle Umgebung wird umso komplexer, je mehr Komponenten die Simulation umfasst und umso mehr Nutzer in der virtuellen Umgebung zeitgleich mit dieser und miteinander interagieren. Entsprechend steigt der Bedarf an Rechenleistung, die die Kapazitäten eines einzelnen Rechners schnell übersteigt.
-
Daher ist das System 2 als verteiltes System ausgebildet. Unter einem verteilten System wird dabei ein Zusammenschluss mehrerer, unabhängiger Computer verstanden, die sich für den Nutzer als ein einziges System präsentieren bzw. wird unter einem verteilten System eine Menge interagierender Prozesse oder Prozessoren verstanden, die über keinen gemeinsamen Speicher verfügen und daher über Nachrichten miteinander kommunizieren.
-
Mit einem derartigen, verteilten System 2 kann eine echte Nebenläufigkeit realisiert werden, d.h., dass mehrere Prozesse echt gleichzeitig ausgeführt werden können. Darüber hinaus ist ein derartiges verteiltes System 2 besser skalierbar als ein einzelner Computer, da man auf einfache Art und Weise durch Hinzufügen weiterer Computer die Leistungsfähigkeit des verteilten Systems 2 erhöht werden kann.
-
Das in 1 gezeigte System 2 ist im vorliegenden Ausführungsbeispiel als ein Client-Server-System ausgebildet mit einem Server 4 und drei dargestellten Clients bzw. Knotenrechner 6a, 6b, 6c, wobei jeder Knotenrechner 6a, 6b, 6c einem anderen Nutzer einer Mehrzahl von Nutzern des Systems 2 zugeordnet ist. Der Datenaustausch kann gemäß einem Netzwerkprotokoll, wie z.B. UDP, erfolgen.
-
2 zeigt dabei die Komponenten des Systems 2, die dem Knotenrechner 4a zugeordnet sind.
-
Es sind ein VR-Modul 8, ein Tracking-Modul 8 und ein Physiksimulations-Modul 12a, 12b, 12c sowie ein Netzwerk 14.
-
Dabei können das System 2, der Server 4, das VR-Modul 8, das Tracking-Modul 8 und/oder das Physiksimulations-Modul 12a, 12b, 12c sowie weitere, später genannte Komponenten für ihre jeweiligen Aufgaben und Funktionen Hard- und/oder Software-Komponenten aufweisen.
-
Des Weiteren kann jede Komponente in einer anderen Umgebung, wie z.B. einem Computer, einer Workstation oder einem CPU-Cluster, sein.
-
Das VR-Modul 8 für das Bereitstellen der virtuellen Umgebung verwendet im vorliegenden Ausführungsbeispiel eine Echtzeit-Rendering-Engine, die z.B. das sogenannte Z-Buffering (auch Depth Buffering oder Tiefenspeicher-Verfahren) verwendet. Mit diesem Verfahren der Computergrafik zur Verdeckungsberechnung werden die für den Nutzer sichtbaren dreidimensionalen Flächen in einer Computergrafik ermittelt. Durch Tiefeninformationen in einem sogenannten Z-Buffer („Z-Puffer“) stellt das Verfahren pixelweise fest, welche Elemente einer Szene in der virtuellen Umgebung von einer Nutzerperspektive aus gezeichnet werden müssen und welche verdeckt sind. Z.B kann die Echtzeit-Rendering-Engine OpenGL oder DirectX verwenden. Ferner kann die Echtzeit-Rendering-Engine in eine Game Engine wie Unity3d oder Unreal eingebettet sein. Das VR-Modul 8 ist allein für eine Visualisierung ausgebildet und stellt hierfür - wie dies später noch erläutert wird - einen Bild-Datensatz BD bereit.
-
Der Bild-Datensatz BD kann mittels verschiedener Ausgabegeräte 16, wie z.B. mittels eines HMD (Head-Mounted-Display) oder anderen projektionsbasierten Systemen (z.B. CAVEs) ausgegeben werden.
-
Das Tracking-Modul 8 sammelt und empfängt Tracking-Datensätze TDS von speziellen Eingabegeräte 18, die z.B. Finger-, Kopf- und/oder Körperbewegungen eines Nutzers erfassen können. Bei den Eingabegeräten 18 kann es sich um Leap Motion, HTC Vive Sensoren oder Intel RealSense handeln.
-
Die Tracking-Datensätze TDS enthalten Daten repräsentativ für die Position des jeweiligen Nutzers und seiner Körperteile (Finger, Kopf und allgemeiner Körper) in der realen Welt und ordnen diese Daten der virtuellen Welt zu.
-
Die Tracking-Datensätze TDS können auch Bilder der Nutzer und Komponenten hiervon enthalten. So können die Personen einschließlich ihrer Mimik und/oder Gestik in der virtuellen Umgebung vollständig visualisiert werden. Zusätzlich können Sprachaufnahme erstellt und wiedergegeben werden, so dass Nutzer ganz natürlich über Sprache miteinander kommunizieren können. Wenn ein Nutzer ein als Head Mounted Display ausgebildetes Ausgabegerät 18 trägt, würde er sehen, dass er sich auf einem virtuellen Testgelände befindet, wo autonome Kraftfahrzeuge vorhanden sind, und er könnte seinen Körper und seine Finger sehen. Es ist auch möglich, Spiegelungen auf einer Fahrzeugkarosserie zu sehen. Dies erhöht die Immersion und ermöglicht die Zusammenarbeit mit den anderen Nutzern.
-
Ferner kann, wenn der Nutzer seinen Platz in der virtuellen Umgebung einnimmt, mit seiner virtuellen Handdarstellung virtuelle Türen des Kraftfahrzeugs öffnen und/oder autonome Fahrfunktionen stoppen oder starten, indem er beispielsweise einen virtuellen Knopf drückt. Ferner kann ein Nutzer mittels vorbestimmter Gesten in der virtuellen Umgebung navigieren. Des Weiteren kann ein Nutzer z.B. mittels eines Flysticks eine Positionierung seiner selbst in der virtuellen Umgebung bewirken. Die virtuelle Umgebung oder Verkehrsszenarien können von dem Nutzer durch Handaktionen manipuliert werden, d.h. ein Straßenverlauf kann geändert werden, oder andere Verkehrsteilnehmer, wie z.B. Fußgänger, können anders platziert werden. Schließlich kann vorgesehen sein, dass auf vorbestimmte Gesten hin, wie z.B. Daumen hoch, ein Kraftfahrzeug in der virtuellen Umgebung losfährt und stoppt, wenn der Nutzer seinen Blick abwendet. Schließlich kann - wenn die virtuelle Umgebung eine Nachbildung einer realen Umgebung ist - ein Vergleich mit anschließender Korrektur vorgesehen sein, bei dem ein Nutzer während einer Fahrt mit einem realen Kraftfahrzeug ein halbdurchlässiges HMD trägt und im Rahmen einer augmented realty Anwendung die Simulation visualisiert wird. Hierzu kann das Kraftfahrzeug spezielle Hardware, wie z.B. NVIDIA DRIVE PX aufweisen.
-
Das Physiksimulations-Modul 12a, 12b, 12c stellt die gesamte physische Modellierung in Form eines Physik-Datensatzes PDS bereit, die von dem VR-Modul 8 benötigt wird. So wird z.B. eine Fahrdynamik eines Kraftfahrzeugs mithilfe von Matlab-Simulink-Bibliotheken mit hauseigenen Softwarebibliotheken simuliert. Hierzu kann das Physiksimulations-Modul 12a, 12b, 12c eine Physik-Engine wie Nvidia PhysX oder Bullet Physics aufweisen, um z.B. eine Kollision zwischen einem Nutzer und einem Kraftfahrzeug zu berechnen.
-
Das Physiksimulations-Modul 12a, 12b, 12c ist in eine Echtzeit-Computerumgebung, wie z.B. ein Echtzeitbetriebssystem (z.B. RTOS Linux) eingebettet, damit der Physik-Datensatzes PDS nur mit minimaler Verzögerung an das VR-Modul VR gesendet werden kann.
-
Das System 2 kann eine Mehrzahl von Physiksimulations-Modulen 12a, 12b, 12c aufweisen. Im vorliegenden Ausführungsbeispiel sind es drei Physiksimulations-Module 12a, 12b, 12c. Für ein einziges Physiksimulations-Modul 12a, 12b, 12c hingegen wäre die Rechenlast zu groß.
-
So werden die Physiksimulations-Module 12a, 12b, 12c auf verschiedene Computerumgebungen, wie z.B. Laptop oder Supercomputer, verteilt. Jede Instanz kann eine separate physikalische Berechnung durchführen. So kann z.B. das Physiksimulations-Modul 12a die Aerodynamik eines Kraftfahrzeugs simulieren, während das Physiksimulations-Modul 12b einen Antriebsstrang des Kraftfahrzeugs simuliert.
-
Das Netzwerk 14 ist keine Komponente des Systems 2, sondern eine in die Komponenten des Systems 2 eingebettete Softwarebibliothek. Die Hauptaufgabe des Netzwerkes 14 ist es, eine effiziente Kommunikation zwischen den Komponenten zu gewährleisten. Das Netzwerk 14 kann bekannte Netzwerkprotokolle wie UDP oder TCP/IP verwenden.
-
Es wird nun unter zusätzlicher Bezugnahme auf die 3 ein Verfahren zum Durchführen von Tests in einer virtuellen Umgebung mit dem als verteiltem System ausgebildeten System 2 erläutert.
-
In einem ersten Schritt S100 stellen die Physiksimulations-Module 12a, 12b, 12c jeweils einen Physik-Datensatz PDS repräsentativ für die Simulation bereit.
-
In einem weiteren Schritt S200 stellt das Tracking-Modul 8 den Tracking-Datensatz TDS repräsentativ für die Simulation bereit, der auf Daten beruht, die mit dem jeweiligen Eingabegerät 18 erfasst wurden.
-
In einem weiteren Schritt S300 liest das VR-Modul 8 die Physik-Datensätze PDS und die Tracking-Datensätze TDS ein und wertet diese aus, um den Bild-Datensatz BD für die Simulation bereitzustellen.
-
Der Bild-Datensatz BD wird dann zu dem Ausgabegeräte 16 übertragen um dann den jeweiligen Nutzer visualisiert zu werden.
-
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.
-
So können mehrere Nutzer an verschiedenen Orten zeitgleich Tests in einer virtuellen Umgebung durchführen.
-
Bezugszeichenliste
-
- 2
- System
- 4
- Server
- 6a
- Knotenrechner
- 6b
- Knotenrechner
- 6c
- Knotenrechner
- 8
- VR-Modul
- 10
- Tracking-Modul
- 12a
- Physiksimulations-Modul
- 12b
- Physiksimulations-Modul
- 12c
- Physiksimulations-Modul
- 14
- Netzwerk
- 16
- Ausgabegerät
- 18
- Eingabegerät
- BD
- Bild-Datensatz
- PDS
- Physik-Datensatz
- TDS
- Tracking-Datensatz
- S100
- Schritt
- S200
- Schritt
- S300
- Schritt
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Patentliteratur
-
- US 2015/0310758 A1 [0007]
- US 2017/0083794 A1 [0007]
- US 2017/0076019 A1 [0007]
- US 2017/0132118 A1 [0007]
- CN 103592854 A [0007]