DE102022206325A1 - Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving - Google Patents

Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving Download PDF

Info

Publication number
DE102022206325A1
DE102022206325A1 DE102022206325.2A DE102022206325A DE102022206325A1 DE 102022206325 A1 DE102022206325 A1 DE 102022206325A1 DE 102022206325 A DE102022206325 A DE 102022206325A DE 102022206325 A1 DE102022206325 A1 DE 102022206325A1
Authority
DE
Germany
Prior art keywords
video data
vehicle
adapter board
data
vehicle processor
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
DE102022206325.2A
Other languages
German (de)
Inventor
Christian Schilling
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022206325.2A priority Critical patent/DE102022206325A1/en
Priority to PCT/EP2023/066723 priority patent/WO2023247588A1/en
Publication of DE102022206325A1 publication Critical patent/DE102022206325A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Die vorliegende Erfindung bezieht sich auf eine Adapterplatine (104) zur Videovorverarbeitung von unverarbeiteten Videodaten (108) auf einem Fahrzeugprozessor (106), wobei die unverarbeiteten Videodaten (108) zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation (118) abbilden, wobei die Adapterplatine (118) zumindest den einen Fahrzeugprozessor (106) zur Vorverarbeitung der unverarbeiteten Videodaten (108) zu vorverarbeiteten Videodaten (110) und zumindest eine Standardschnittstelle (126) für die Videodaten aufweist.The present invention relates to an adapter board (104) for video pre-processing of unprocessed video data (108) on a vehicle processor (106), the unprocessed video data (108) depicting at least one driving situation (118) recorded from a vehicle perspective of a recording vehicle, the adapter board (118) has at least one vehicle processor (106) for preprocessing the unprocessed video data (108) into preprocessed video data (110) and at least one standard interface (126) for the video data.

Description

Gebiet der ErfindungField of invention

Die Erfindung betrifft eine Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor und ein Validierungssystem zum Validieren einer Softwarekomponente für hochautomatisiertes Fahren.The invention relates to an adapter board for video preprocessing of unprocessed video data on a vehicle processor and a validation system for validating a software component for highly automated driving.

Stand der TechnikState of the art

Zum hochautomatisierten Fahren eines Fahrzeugs sind Softwarekomponenten erforderlich, die situationsabhängig Steuersignale für das Fahrzeug generieren. Bevor das Fahrzeug mit diesen Softwarekomponenten am Straßenverkehr teilnehmen kann, ist eine Validierung der Softwarekomponenten erforderlich. Dabei werden einer zu validierenden Softwarekomponente aufgezeichnete Fahrsituationen vorgespielt und Reaktionen der Softwarekomponente mit erwarteten Reaktionen verglichen, um eventuelle falsche Reaktionen zu erkennen.Highly automated driving of a vehicle requires software components that generate control signals for the vehicle depending on the situation. Before the vehicle can take part in road traffic with these software components, the software components must be validated. Recorded driving situations are played to a software component to be validated and reactions of the software component are compared with expected reactions in order to identify any incorrect reactions.

Damit die Softwarekomponente die Fahrsituationen interpretieren kann, ist insbesondere bei Videodaten eine rechenintensive Vorverarbeitung erforderlich. Diese Vorverarbeitung kann in angemessener Zeit nur durch spezialisierte Hardware des Fahrzeugs durchgeführt werden. Die Vorverarbeitung kann daher bereits beim Aufzeichnen der Fahrsituationen im Fahrzeug erfolgen. Die Aufzeichnung der vorverarbeiteten Fahrsituation erfordert eine große Speicherkapazität.In order for the software component to be able to interpret the driving situations, computationally intensive pre-processing is required, especially for video data. This pre-processing can only be carried out in a reasonable time using specialized vehicle hardware. The preprocessing can therefore already take place when the driving situations are recorded in the vehicle. Recording the pre-processed driving situation requires a large storage capacity.

Alternativ kann das Fahrzeug im Labor angeschlossen werden, aufgezeichnete Sensordaten in das Fahrzeug eingegeben werden und die Steuersignale aus dem Fahrzeug ausgelesen werden. Dieser Ansatz ist materialintensiv.Alternatively, the vehicle can be connected in the laboratory, recorded sensor data can be entered into the vehicle and the control signals can be read from the vehicle. This approach is material intensive.

Offenbarung der ErfindungDisclosure of the invention

Vor diesem Hintergrund werden mit dem hier vorgestellten Ansatz eine Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor und ein Validierungssystem zum Validieren einer Softwarekomponente für hochautomatisiertes Fahren gemäß den unabhängigen Ansprüchen vorgestellt. Vorteilhafte Weiterbildungen und Verbesserungen des hier vorgestellten Ansatzes ergeben sich aus der Beschreibung und sind in den abhängigen Ansprüchen beschrieben.Against this background, the approach presented here presents an adapter board for video preprocessing of unprocessed video data on a vehicle processor and a validation system for validating a software component for highly automated driving according to the independent claims. Advantageous developments and improvements to the approach presented here result from the description and are described in the dependent claims.

Vorteile der ErfindungAdvantages of the invention

Wenn vorverarbeitete Sensordaten von Fahrsituationen aufgezeichnet werden, ist ein erneutes Erfassen der Fahrsituationen, Vorverarbeiten der Sensordaten und Aufzeichnen der vorverarbeiteten Sensordaten erforderlich, wenn eine verwendete Hardware verändert wird. Wenn die Vorverarbeitung während des Abspielens von unverarbeiteten Sensordaten erfolgt, ist das komplette Fahrzeug erforderlich, obwohl die Vorverarbeitung nur durch die spezialisierte Hardware im Fahrzeug erfolgt und wesentliche Teile des Fahrzeugs während der Validierung nicht benutzt werden.If pre-processed sensor data of driving situations are recorded, it is necessary to re-acquire the driving situations, pre-process the sensor data and record the pre-processed sensor data if any hardware used is changed. If preprocessing occurs during playback of raw sensor data, the entire vehicle is required, even though preprocessing is performed only by the specialized hardware in the vehicle and significant parts of the vehicle are not used during validation.

Bei dem hier vorgestellten Ansatz wird die spezialisierte Hardware, insbesondere ein Fahrzeugprozessor aus dem Fahrzeug in ein Computersystem im Labor transplantiert. Der Rest des Fahrzeugs wird dann nicht benötigt. Zum Integrieren in das Computersystem wird die Hardware auf einer speziell dafür konfigurierten Adapterplatine angeordnet und über Standardschnittstellen durch das Computersystem angesprochen. Die Hardware führt die Vorverarbeitung von unvorverarbeiteten Sensordaten durch und gibt vorverarbeitete Sensordaten an das Computersystem zurück. Die zu validierende Softwarekomponente wird auf dem Computersystem ausgeführt und ihre Reaktionen ausgewertet.In the approach presented here, the specialized hardware, in particular a vehicle processor, is transplanted from the vehicle into a computer system in the laboratory. The rest of the vehicle is then not needed. To be integrated into the computer system, the hardware is arranged on a specially configured adapter board and addressed by the computer system via standard interfaces. The hardware performs preprocessing of unpreprocessed sensor data and returns preprocessed sensor data to the computer system. The software component to be validated is executed on the computer system and its reactions are evaluated.

Durch den hier vorgestellten Ansatz kann die Vorverarbeitung jeweils mit der aktuellen Hardware durchgeführt werden. Da nur die spezialisierte Hardware verwendet wird, kann der Materialeinsatz geringgehalten werden. Durch die Hardwarebeschleunigung der spezialisierten Hardware kann die Validierung in geringer Zeit erfolgen.With the approach presented here, the preprocessing can be carried out with the current hardware. Since only specialized hardware is used, the use of materials can be kept low. The hardware acceleration of the specialized hardware allows validation to take place in a short time.

Es wird eine Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor vorgestellt, wobei die unverarbeiteten Videodaten zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation abbilden, wobei die Adapterplatine zumindest den einen Fahrzeugprozessor zur Vorverarbeitung von unverarbeiteten Videodaten zu vorverarbeiteten Videodaten und zumindest eine Standardschnittstelle für die Videodaten aufweist.An adapter board for video pre-processing of unprocessed video data on a vehicle processor is presented, the unprocessed video data depicting at least one driving situation recorded from a vehicle perspective of a recording vehicle, the adapter board having at least one vehicle processor for pre-processing unprocessed video data into pre-processed video data and at least one standard interface for the Has video data.

Weiterhin wird ein Verfahren zum Validieren einer Softwarekomponente für hochautomatisiertes Fahren vorgeschlagen, wobei unverarbeitete Videodaten, die zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation abbilden, durch ein Datenverarbeitungssystem eingelesen werden und unter Verwendung eines mit dem Datenverarbeitungssystem verbundenen Fahrzeugprozessors zur Videovorverarbeitung (PiL) zu vorverarbeiteten Videodaten verarbeitet werden, wobei der Fahrzeugprozessor auf einer Adapterplatine angeordnet ist und über Standardschnittstellen mit dem Datenverarbeitungssystem verbunden ist, wobei die vorverarbeiteten Videodaten von dem Datenverarbeitungssystem als Eingangsgrößen für die zu validierende Softwarekomponente verwendet werden und eine in Ausgangsgrößen der Softwarekomponente abgebildete Reaktion der Softwarekomponente auf die in den vorverarbeiteten Videodaten abgebildete Fahrsituation von dem Datenverarbeitungssystem mit einer erwarteten Reaktion verglichen wird, um die Softwarekomponente zu validieren.Furthermore, a method for validating a software component for highly automated driving is proposed, wherein unprocessed video data, which depict at least one driving situation recorded from a vehicle perspective of a recording vehicle, is read in by a data processing system and preprocessed for video preprocessing (PiL) using a vehicle processor connected to the data processing system Video data is processed, with the vehicle processor being arranged on an adapter board and connected to the data processing system via standard interfaces, with the preprocessed video data from the data processing system are used as input variables for the software component to be validated and a reaction of the software component, depicted in output variables of the software component, to the driving situation depicted in the preprocessed video data is compared by the data processing system with an expected reaction in order to validate the software component.

Weiterhin wird ein Betriebssystem zum Betreiben eines Fahrzeugprozessors zur Videovorverarbeitung von unverarbeiteten Videodaten auf einer Adapterplatine vorgestellt, wobei die unverarbeiteten Videodaten zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation abbilden, wobei das Betriebssystem eine Einleseroutine zum Einlesen der unverarbeiteten Videodaten von einem Datenverarbeitungssystem über eine Standardschnittstelle der Adapterplatine, eine Weitergaberoutine zum bitgenauen und deterministischen Weitergeben der unverarbeiteten Videodaten an den Fahrzeugprozessor, eine Entgegennahmeroutine zum bitgenauen und deterministischen Entgegennehmen von vorverarbeiteten Videodaten von dem Fahrzeugprozessor und eine Bereitstellungsroutine zum Bereitstellen der vorverarbeiteten Videodaten für das Datenverarbeitungssystem über die Standardschnittstelle aufweist.Furthermore, an operating system for operating a vehicle processor for video pre-processing of unprocessed video data on an adapter board is presented, the unprocessed video data depicting at least one driving situation recorded from a vehicle perspective of a recording vehicle, the operating system having a read-in routine for reading the unprocessed video data from a data processing system via a standard interface Adapter board, a forwarding routine for bit-precisely and deterministically passing on the unprocessed video data to the vehicle processor, a receiving routine for bit-precisely and deterministically receiving preprocessed video data from the vehicle processor and a provision routine for providing the preprocessed video data to the data processing system via the standard interface.

Ferner wird ein Betriebssystem zum Betreiben einer Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor vorgestellt, wobei die unverarbeiteten Videodaten zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation abbilden, wobei das Betriebssystem eine Bereitstellungsroutine zum Bereitstellen der unverarbeiteten Videodaten für die Adapterplatine über eine Standardschnittstelle eines Datenverarbeitungssystems und eine Einleseroutine zum Einlesen von vorverarbeiteten Videodaten von der Adapterplatine über die Standardschnittstelle aufweist.Furthermore, an operating system for operating an adapter board for video preprocessing of unprocessed video data on a vehicle processor is presented, the unprocessed video data depicting at least one driving situation recorded from a vehicle perspective of a recording vehicle, the operating system having a provision routine for providing the unprocessed video data for the adapter board via a standard interface Data processing system and a read-in routine for reading pre-processed video data from the adapter board via the standard interface.

Ideen zu Ausführungsformen der vorliegenden Erfindung können unter anderem als auf den nachfolgend beschriebenen Gedanken und Erkenntnissen beruhend angesehen werden.Ideas for embodiments of the present invention may be considered based on, among other things, the ideas and findings described below.

Eine Softwarekomponente kann ein Computerprogrammprodukt sein. Die Softwarekomponente kann dazu ausgebildet sein, zumindest eine Funktion eines Fahrzeugs hochautomatisiert anzusteuern. Beispielsweise kann die Softwarekomponente eine Trajektorie des Fahrzeugs in Abhängigkeit von einer aktuellen Fahrsituation planen und das Fahrzeug dazu ansteuern, auf dieser Trajektorie zu fahren.A software component can be a computer program product. The software component can be designed to control at least one function of a vehicle in a highly automated manner. For example, the software component can plan a trajectory of the vehicle depending on a current driving situation and control the vehicle to drive on this trajectory.

Die Softwarekomponente kann durch eine Überprüfung ihrer Funktion beziehungsweise ihrer Reaktionen auf verschiedene Fahrsituationen validiert werden. Dabei dürfen die Reaktionen maximal um eine Fehlertoleranz von vordefinierten erwarteten Reaktionen abweichen. Die Reaktionen können beispielsweise in ausgegebenen Steuersignalen abgebildet sein.The software component can be validated by checking its function or its reactions to various driving situations. The reactions may deviate from predefined expected reactions by a maximum of one error tolerance. The reactions can, for example, be represented in control signals that are output.

Eine Fahrsituation kann eine Situation während einer Fahrt eines Fahrzeugs sein. Die Fahrsituation kann feste sowie bewegliche Objekte in einem Umfeld des Fahrzeugs betreffen. Die Fahrsituation kann also Infrastruktur, Hindernisse und andere Verkehrsteilnehmer betreffen. Die Fahrsituation kann Relativbewegungen der enthaltenen Objekte zum Fahrzeug beinhalten. Die Fahrsituation kann auch eine Bewegung des eigenen Fahrzeugs enthalten. Eine momentane Kinematik des Fahrzeugs kann durch die Relativbewegung der festen Objekte zum Fahrzeug in der Fahrsituation enthalten sein. Die Kinematik des Fahrzeugs kann auch durch anderweitig erfasste Kinematikdaten in der Fahrsituation enthalten sein.A driving situation can be a situation while a vehicle is driving. The driving situation can affect fixed and moving objects in the area surrounding the vehicle. The driving situation can therefore affect infrastructure, obstacles and other road users. The driving situation can include relative movements of the contained objects to the vehicle. The driving situation can also include movement of your own vehicle. A momentary kinematics of the vehicle can be contained in the driving situation due to the relative movement of the solid objects to the vehicle. The kinematics of the vehicle can also be included in the driving situation through kinematics data recorded elsewhere.

Videodaten können Bewegtbildinformationen sein. Die Videodaten können von zumindest einer Videokamera erfasst worden sein. Die Videokamera kann die Fahrsituation erfasst haben. Die erfassten Videodaten können ohne Vorverarbeitung auf einem Speichermedium gespeichert worden sein. Die Videodaten können in der Vergangenheit aufgezeichnet worden sein. Die Videodaten können unter Verwendung eines speziellen Aufnahmefahrzeugs aufgezeichnet worden sein. Die Videodaten können aber auch Aufzeichnungen von einer Flotte von Fahrzeugen sein. Eine Fahrzeugperspektive kann die Fahrsituation aus einer Perspektive des Fahrzeugs mit der Softwarekomponente abbilden.Video data can be moving image information. The video data may have been captured by at least one video camera. The video camera may have captured the driving situation. The captured video data may have been stored on a storage medium without any preprocessing. The video data may have been recorded in the past. The video data may have been recorded using a special recording vehicle. The video data can also be recordings from a fleet of vehicles. A vehicle perspective can depict the driving situation from a perspective of the vehicle with the software component.

Ein Datenverarbeitungssystem kann ein Computersystem sein. Das Datenverarbeitungssystem kann insbesondere in einem Labor angeordnet sein. Das Datenverarbeitungssystem kann als Serversystem bezeichnet werden.A data processing system can be a computer system. The data processing system can in particular be arranged in a laboratory. The data processing system can be referred to as a server system.

Ein Fahrzeugprozessor zur Videovorverarbeitung kann ein spezialisierter Prozessor sein, der für den Anwendungsfall der Vorverarbeitung von Videodaten entwickelt worden ist. Der Fahrzeugprozessor kann Videodaten um ein Vielfaches schneller vorverarbeiten als ein Prozessor des Datenverarbeitungssystems. Der Fahrzeugprozessor kann im Normalfall in einem Fahrzeug verbaut sein. Der Fahrzeugprozessor kann in einem Fahrzeug direkt mit zumindest einer Videokamera des Fahrzeugs verbunden sein. Der Fahrzeugprozessor kann die Videodaten in Echtzeit vorverarbeiten.A video preprocessing vehicle processor may be a specialized processor designed for the use case of preprocessing video data. The vehicle processor can pre-process video data many times faster than a processor in the data processing system. The vehicle processor can normally be installed in a vehicle. The vehicle processor can be directly connected in a vehicle to at least one video camera of the vehicle. The vehicle processor can pre-process the video data in real time.

Eine Adapterplatine ermöglicht ein Ansteuern des Fahrzeugprozessors durch das Datenverarbeitungssystem. Die Adapterplatine ermöglicht einen Datenaustausch zwischen dem Datenverarbeitungssystem und dem Fahrzeugprozessor über Standardschnittstellen. Die Adapterplatine weist auch eine Fahrzeugschnittstelle zu dem Fahrzeugprozessor auf. Die Adapterplatine weist keine überflüssigen Komponenten auf. Auf der Adapterplatine beziehungsweise auf dem Fahrzeugprozessor wird ein Betriebssystem ausgeführt, das den Datenaustausch mit dem Datenverarbeitungssystem orchestriert.An adapter board enables the vehicle processor to be controlled by the data processing system. The adapter board enables data exchange between the data processing system and the vehicle processor via standard interfaces. The adapter board also has a vehicle interface to the vehicle processor. The adapter board has no unnecessary components. An operating system is executed on the adapter board or on the vehicle processor, which orchestrates the data exchange with the data processing system.

Eine Standardschnittstelle kann eine üblicherweise in einem Computersystem verwendete Schnittstelle sein. Die Standardschnittstelle kann genormt sein. zumindest eine Standardschnittstelle kann beispielsweise an einem Steckplatz des Datenverarbeitungssystems angeordnet sein. Die Adapterplatine kann in den Steckplatz eingesteckt sein und so über die Standardschnittstelle kontaktiert sein.A standard interface can be an interface commonly used in a computer system. The standard interface can be standardized. at least one standard interface can be arranged, for example, at a slot in the data processing system. The adapter board can be plugged into the slot and thus contacted via the standard interface.

Ein Betriebssystem zum Betreiben des Fahrzeugprozessors kann auf der Adapterplatine ausgeführt werden. Das Betriebssystem kann auf die Adapterplatine aufgespielt sein. Alternativ kann das Betriebssystem zum Betreiben des Fahrzeugprozessors auch auf dem Fahrzeugprozessor ausgeführt werden. Ein Betriebssystem zum Betreiben der Adapterplatine kann auf dem Datenverarbeitungssystem ausgeführt werden.An operating system for operating the vehicle processor can run on the adapter board. The operating system can be installed on the adapter board. Alternatively, the operating system for operating the vehicle processor can also be executed on the vehicle processor. An operating system for operating the adapter board can be executed on the data processing system.

Die Betriebssysteme können in Programmcode abgebildete Routinen aufweisen. Die Routinen können eine Handhabung von Daten beschreiben. Die Routinen können beispielsweise Datenregister des Datenverarbeitungssystems, der Adapterplatine und/oder des Fahrzeugprozessors ansprechen. Die Routinen können auch eine Datenübertragung über die Standardschnittstellen beschreiben.The operating systems may have routines mapped into program code. The routines can describe data handling. The routines can, for example, address data registers of the data processing system, the adapter board and/or the vehicle processor. The routines can also describe data transfer via the standard interfaces.

Eine Bereitstellungsroutine kann eine Bereitstellung der unverarbeiteten Videodaten beziehungsweise vorverarbeiteten Videodaten in einer über die Standardschnittstelle übertragbaren Form und Geschwindigkeit kontrollieren. Eine Einleseroutine kann ein Gegenpart zur Bereitstellungsroutine sein. Die Einleseroutine kann ein Einlesen der unverarbeiteten Videodaten beziehungsweise vorverarbeiteten Videodaten in der über die Standardschnittstelle übertragbaren Form und Geschwindigkeit kontrollieren.A provision routine can control provision of the unprocessed video data or pre-processed video data in a form and speed that can be transmitted via the standard interface. A read routine can be a counterpart to the provision routine. The read-in routine can control the reading of the unprocessed video data or pre-processed video data in the form and speed that can be transmitted via the standard interface.

Eine Weitergaberoutine kann eine Weitergabe der unverarbeiteten Videodaten in einer für den Fahrzeugprozessor vorgesehenen Form und Geschwindigkeit kontrollieren. Eine Entgegennahmeroutine kann eine Entgegennahme der Vorverarbeiteten Videodaten in der für den Fahrzeugprozessor vorgesehenen Form und Geschwindigkeit kontrollieren.A distribution routine may control distribution of the unprocessed video data in a form and speed intended for the vehicle processor. A receipt routine can control receipt of the preprocessed video data in the form and speed intended for the vehicle processor.

Die Betriebssysteme können als ein zusammenhängendes Computerprogrammprodukt programmiert sein. Beim Aufspielen auf das Datenverarbeitungssystem, die Adapterplatine und/oder den Fahrzeugprozessor können anwendbare Routinen aktiviert werden, während nicht anwendbare Routinen nicht aktiviert werden. Das Betriebssystem kann ein Linux-Betriebssystem sein.The operating systems can be programmed as a coherent computer program product. When uploaded to the data processing system, adapter board and/or vehicle processor, applicable routines may be activated, while non-applicable routines are not activated. The operating system can be a Linux operating system.

Unter Verwendung des Fahrzeugprozessors kann ein optischer Fluss der Videodaten berechnet werden. Der optische Fluss kann in die vorverarbeiteten Videodaten eingebettet werden. Eine Berechnung des optischen Flusses von Videodaten kann sehr rechenintensiv sein. Der Fahrzeugprozessor kann den optischen Fluss in kurzer Zeit berechnen. Durch die Berechnung des optischen Flusses im Fahrzeugprozessor kann die Validierung der Softwarekomponente mit einer hohen Geschwindigkeit durchgeführt werden.Using the vehicle processor, an optical flow of the video data can be calculated. The optical flow can be embedded into the pre-processed video data. Calculating the optical flow of video data can be very computationally intensive. The vehicle processor can calculate the optical flow in a short time. By calculating the optical flow in the vehicle processor, the validation of the software component can be carried out at a high speed.

Unter Verwendung des Fahrzeugprozessors können Tiefeninformationen aus den Videodaten berechnet werden. Die Tiefeninformationen können in die vorverarbeiteten Videodaten eingebettet werden. Eine Berechnung der Tiefeninformationen in Videodaten kann sehr rechenintensiv sein. Der Fahrzeugprozessor kann Tiefeninformationen in kurzer Zeit berechnen.Using the vehicle processor, depth information can be calculated from the video data. The depth information can be embedded into the preprocessed video data. Calculating the depth information in video data can be very computationally intensive. The vehicle processor can calculate depth information in a short time.

Unter Verwendung des Fahrzeugprozessors können die unverarbeiteten Videodaten rektifiziert werden. Eine Rektifizierung von Videodaten kann sehr rechenintensiv sein. Der Fahrzeugprozessor kann die Videodaten in kurzer Zeit rektifizieren.Using the vehicle processor, the raw video data can be rectified. Rectification of video data can be very computationally intensive. The vehicle processor can rectify the video data in a short time.

Eine Fortschrittsinformation kann von der Softwarekomponente eingelesen werden. Unter Verwendung der Fortschrittsinformation können Steuersignale erzeugt werden. Die unverarbeiteten Videodaten können ansprechend auf die Steuersignale Schritt für Schritt an den Fahrzeugprozessor übergeben werden. Alternativ oder ergänzend können die vorverarbeiteten Videodaten ansprechend auf die Steuersignale Schritt für Schritt für die Softwarekomponente bereitgestellt werden. Eine Bearbeitungsgeschwindigkeit des Fahrzeugprozessors kann durch die Softwarekomponente vorgegeben werden. Die Fortschrittsinformation kann einen Takt der Vorverarbeitung vorgeben, Durch die Schritt-für-Schritt-Vorverarbeitung kann auf Zwischenspeicherung der vorverarbeiteten Videodaten verzichtet werden. Die Fortschrittsinformation kann von zumindest einem der Betriebssysteme eingelesen und verarbeitet werden. Die Routinen der Betriebssysteme können durch die Steuersignale synchronisiert werden.Progress information can be read in by the software component. Control signals can be generated using the progress information. The unprocessed video data can be transferred step by step to the vehicle processor in response to the control signals. Alternatively or additionally, the preprocessed video data can be provided to the software component step by step in response to the control signals. A processing speed of the vehicle processor can be specified by the software component. The progress information can set a pace for pre-processing. The step-by-step pre-processing means that there is no need to temporarily store the pre-processed video data. The progress information can be read and processed by at least one of the operating systems. The routines of the operating systems can be synchronized by the control signals.

Das Betriebssystem zum Betreiben der Adapterplatine kann eine Steuerroutine zum Bereitstellen von Steuersignalen für die Adapterplatine über eine weitere Standardschnittstelle des Datenverarbeitungssystems aufweisen. Die Steuerroutine kann dazu ausgebildet sein, eine Fortschrittsinformation von der Softwarekomponente einzulesen und unter Verwendung der Fortschrittsinformation die Steuersignale zu erzeugen. Die auf der Adapterplatine ausgeführte Weitergaberoutine kann dazu ausgebildet sein, ansprechend auf die über die weitere Standardschnittstelle der Adapterplatine von dem Datenverarbeitungssystem eingelesene Steuersignale die unverarbeiteten Videodaten Schritt für Schritt an den Fahrzeugprozessor weiterzugeben. Die Entgegennahmeroutine kann dazu ausgebildet sein, die vorverarbeiteten Videodaten ansprechend auf die Steuersignale Schritt für Schritt von dem Fahrzeugprozessor entgegenzunehmen.The operating system for operating the adapter board may have a control routine for providing control signals to the adapter board via another standard interface of the data processing system. The control routine can be designed to read progress information from the software component and to generate the control signals using the progress information. The forwarding routine executed on the adapter board can be designed to forward the unprocessed video data step by step to the vehicle processor in response to the control signals read in by the data processing system via the further standard interface of the adapter board. The receiving routine can be designed to receive the preprocessed video data step by step from the vehicle processor in response to the control signals.

Die unverarbeiteten Videodaten können in Bulks an die Adapterplatine übergeben werden. Ein Bulk kann ein Datenpaket sein. Beispielsweise kann ein Bulk eine vorbestimmte Anzahl Einzelbilder oder eine vordefinierte Zeitdauer aufweisen. Durch eine bulkweise Verarbeitung der Videodaten kann der Fahrzeugprozessor mit voller Kapazität betrieben werden. Die Bereitstellungsroutinen und Einleseroutinen können die bulkweise Übergabe kontrollieren.The unprocessed video data can be transferred to the adapter board in bulk. A bulk can be a data packet. For example, a bulk can have a predetermined number of individual images or a predefined time period. By processing the video data in bulk, the vehicle processor can be operated at full capacity. The provision routines and read routines can control the bulk transfer.

Zumindest eine der Standardschnittstellen kann als Datenschnittstelle ausgebildet sein. Insbesondere kann die Datenschnittstelle als PCIe-Schnittstelle ausgeführt sein. Eine Datenschnittstelle kann für hohe Datendurchsätze konfiguriert sein. Die unverarbeiteten Videodaten sind bereits sehr groß. Durch die Vorverarbeitung kann eine Datenmenge der vorverarbeiteten Videodaten noch anwachsen. Über die Datenschnittstelle können die Videodaten in Echtzeit übertragen werden. Die Bereitstellungsroutinen und Einleseroutinen können für die Datenschnittstelle konfiguriert sein. Zum Übertragen der unverarbeiteten Videodaten und zum Übertragen der vorverarbeiteten Videodaten kann die PCIe-Schnittstelle angesprochen werden.At least one of the standard interfaces can be designed as a data interface. In particular, the data interface can be designed as a PCIe interface. A data interface can be configured for high data throughput. The unprocessed video data is already very large. As a result of preprocessing, the amount of data in the preprocessed video data can increase. The video data can be transmitted in real time via the data interface. The provision routines and read-in routines can be configured for the data interface. The PCIe interface can be addressed to transmit the unprocessed video data and to transmit the pre-processed video data.

Zumindest eine der Standardschnittstellen kann als Steuerungsschnittstelle ausgebildet sein. Insbesondere kann die Steuerungsschnittstelle als Ethernetschnittstelle ausgeführt sein. Zum Übertragen der Steuersignale kann die Ethernet-Schnittstelle angesprochen werden. Eine Steuerungsschnittstelle kann ein robustes Kommunikationsprotokoll aufweisen. Über die Steuerungsschnittstelle können die Steuersignale verlustlos übertragen werden.At least one of the standard interfaces can be designed as a control interface. In particular, the control interface can be designed as an Ethernet interface. The Ethernet interface can be addressed to transmit the control signals. A control interface can have a robust communication protocol. The control signals can be transmitted without loss via the control interface.

Der Fahrzeugprozessor kann austauschbar sein. Beispielsweise wenn ein verbesserter Fahrzeugprozessor verfügbar ist, kann die Adapterplatine aktualisiert werden. Ebenso kann der Fahrzeugprozessor bei einem Defekt getauscht werden.The vehicle processor may be replaceable. For example, if an improved vehicle processor becomes available, the adapter board may be updated. The vehicle processor can also be replaced if it is defective.

Die Betriebssysteme können aktualisiert werden. Neue Betriebssysteme können auf das Datenverarbeitungssystem, die Adapterplatine und/oder den Fahrzeugprozessor aufgespielt werden.The operating systems can be updated. New operating systems can be installed on the data processing system, the adapter board and/or the vehicle processor.

Die Adapterplatine kann Betriebseinrichtungen zum Betreiben des Fahrzeugprozessors aufweisen. Die Betriebseinrichtungen können auf minimale Anforderungen des Fahrzeugprozessors abgestimmt sein. Das Betriebssystem zum Betreiben des Fahrzeugprozessors kann auf den Betriebseinrichtungen ausgeführt werden. Die Betriebseinrichtungen können beispielsweise Datenregister umfassen.The adapter board can have operating devices for operating the vehicle processor. The operating facilities can be tailored to the minimum requirements of the vehicle processor. The operating system for operating the vehicle processor can be executed on the operating devices. The operating facilities can include, for example, data registers.

Die Adapterplatine kann kühlerlos sein. Im Datenverarbeitungssystem herrschen wesentlich niedrigere Temperaturen als im Fahrzeug möglich sind. Die Adapterplatine kann einfach aufgebaut sein. Es ist nicht erforderlich die Adapterplatine auf die Extrembedingungen im Fahrzeug auszulegen. Der Fahrzeugprozessor kann durch einen Lüfter des Datenverarbeitungssystems gekühlt werden.The adapter board can be coolerless. The temperatures in the data processing system are significantly lower than those possible in the vehicle. The adapter board can have a simple structure. It is not necessary to design the adapter board for the extreme conditions in the vehicle. The vehicle processor can be cooled by a fan of the data processing system.

Das Verfahren ist vorzugsweise computerimplementiert und kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät implementiert sein.The method is preferably computer-implemented and can be implemented, for example, in software or hardware or in a mixed form of software and hardware, for example in a control device.

Der hier vorgestellte Ansatz schafft ferner ein Validierungssystem zum Validieren einer Softwarekomponente für hochautomatisiertes Fahren, das dazu ausgebildet ist, um die Schritte einer Variante des hier vorgestellten Verfahrens in entsprechenden Einrichtungen durchzuführen, anzusteuern bzw. umzusetzen. Das Validierungssystem weist ein Datenverarbeitungssystem und zumindest eine Adapterplatine gemäß dem hier vorgestellten Ansatz auf.The approach presented here also creates a validation system for validating a software component for highly automated driving, which is designed to carry out, control or implement the steps of a variant of the method presented here in appropriate facilities. The validation system has a data processing system and at least one adapter board according to the approach presented here.

Von Vorteil ist auch ein Computerprogrammprodukt oder Computerprogramm mit Programmcode, der auf einem maschinenlesbaren Träger oder Speichermedium wie einem Halbleiterspeicher, einem Festplattenspeicher oder einem optischen Speicher gespeichert sein kann und zur Durchführung, Umsetzung und/oder Ansteuerung der Schritte des Verfahrens nach einer der vorstehend beschriebenen Ausführungsformen verwendet wird, insbesondere wenn das Programmprodukt oder Programm auf einem Computer oder einer Vorrichtung ausgeführt wird.Also advantageous is a computer program product or computer program with program code, which can be stored on a machine-readable carrier or storage medium such as a semiconductor memory, a hard drive memory or an optical memory and for carrying out, implementing and / or controlling the steps of the method according to one of the embodiments described above is used, particularly if the program product or program is executed on a computer or device.

Es wird darauf hingewiesen, dass einige der möglichen Merkmale und Vorteile der Erfindung hierin mit Bezug auf unterschiedliche Ausführungsformen beschrieben sind. Ein Fachmann erkennt, dass die Merkmale des Steuergeräts und des Verfahrens in geeigneter Weise kombiniert, angepasst oder ausgetauscht werden können, um zu weiteren Ausführungsformen der Erfindung zu gelangen.It should be noted that some of the possible features and advantages of the invention are described herein with reference to various embodiments. A person skilled in the art will recognize that the features of the control device and the method are appropriately combined, adapted or selected can be exchanged in order to achieve further embodiments of the invention.

Kurze Beschreibung der ZeichnungShort description of the drawing

Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügte Zeichnung beschrieben, wobei weder die Zeichnung noch die Beschreibung als die Erfindung einschränkend auszulegen sind.

  • 1 zeigt eine Darstellung eines Validierungssystems gemäß einem Ausführungsbeispiel;
Embodiments of the invention are described below with reference to the accompanying drawing, whereby neither the drawing nor the description are to be construed as limiting the invention.
  • 1 shows a representation of a validation system according to an exemplary embodiment;

Die Figur ist lediglich schematisch und nicht maßstabsgetreu. Gleiche Bezugszeichen bezeichnen gleiche oder gleichwirkende Merkmale.The figure is only schematic and not to scale. The same reference numerals denote the same or identical features.

Ausführungsformen der ErfindungEmbodiments of the invention

1 zeigt eine Darstellung eines Validierungssystems 100 gemäß einem Ausführungsbeispiel. Das Validierungssystem 100 besteht aus einem Datenverarbeitungssystem 102 und zumindest einem mit dem Datenverarbeitungssystem 102 über eine Adapterplatine 104 verbundenen Fahrzeugprozessor 106 zur Vorverarbeitung von unverarbeiteten Videodaten 108 zu vorverarbeiteten Videodaten 110. Gleichartige Fahrzeugprozessoren können in hochautomatisierten Fahrzeugen verbaut sein, um unverarbeitete Videodaten von Videosensoren der Fahrzeuge für nachfolgende Verwendungen vorzuverarbeiten. Auf der Adapterplatine 104 beziehungsweise dem Fahrzeugprozessor ist ein Betriebssystem 112 zum Betreiben des Fahrzeugprozessors 106 installiert. Auf dem Datenverarbeitungssystem 102 ist ein entsprechendes Betriebssystem 114 zum Betreiben der Adapterplatine 104 installiert. Die Betriebssysteme 112, 114 können auch als Treiber für die Adapterplatine 104 beziehungsweise den Fahrzeugprozessor 106 bezeichnet werden. In einem Ausführungsbeispiel basieren die Betriebssysteme 112, 114 auf dem Linux-Betriebssystem. 1 shows a representation of a validation system 100 according to an exemplary embodiment. The validation system 100 consists of a data processing system 102 and at least one vehicle processor 106 connected to the data processing system 102 via an adapter board 104 for preprocessing unprocessed video data 108 into preprocessed video data 110. Similar vehicle processors can be installed in highly automated vehicles in order to process unprocessed video data from video sensors of the vehicles for to pre-process subsequent uses. An operating system 112 for operating the vehicle processor 106 is installed on the adapter board 104 or the vehicle processor. A corresponding operating system 114 for operating the adapter board 104 is installed on the data processing system 102. The operating systems 112, 114 can also be referred to as drivers for the adapter board 104 or the vehicle processor 106. In one embodiment, the operating systems 112, 114 are based on the Linux operating system.

Das Validierungssystem 100 ist dazu konfiguriert, eine Softwarekomponente 116 für hochautomatisierte Fahrzeuge zu validieren. Das Validieren kann als Recomputing bezeichnet werden. Das Validieren kann im Labor erfolgen. Die Softwarekomponente 116 wird dazu auf dem Datenverarbeitungssystem 102 ausgeführt und die vorverarbeiteten Videodaten 110 von unterschiedlichen abgespeicherten Fahrsituationen 118 werden von dem Datenverarbeitungssystem 102 für die Softwarekomponente 116 als Eingangsgrößen bereitgestellt. Die in Ausgangsgrößen der Softwarekomponente 116 abgebildeten Reaktionen 120 der Softwarekomponente 116 auf die Fahrsituationen 118 werden von dem Datenverarbeitungssystem 102 ausgewertet, um die Softwarekomponente 116 zu validieren. Dabei werden die Reaktionen 120 mit erwarteten Reaktionen 122 verglichen und eine bestimmungsgemäße Funktion der Softwarekomponente 116 erkannt, wenn die Reaktionen 120 im Wesentlichen den erwarteten Reaktionen 122 entsprechen.The validation system 100 is configured to validate a software component 116 for highly automated vehicles. Validating can be referred to as recomputing. Validation can be done in the laboratory. For this purpose, the software component 116 is executed on the data processing system 102 and the preprocessed video data 110 from different stored driving situations 118 are provided by the data processing system 102 for the software component 116 as input variables. The reactions 120 of the software component 116 to the driving situations 118, depicted in the output variables of the software component 116, are evaluated by the data processing system 102 in order to validate the software component 116. The reactions 120 are compared with expected reactions 122 and a proper function of the software component 116 is recognized if the reactions 120 essentially correspond to the expected reactions 122.

Das Datenverarbeitungssystem 102 ist bei dem hier vorgestellten Ansatz ein aus Standardprozessoren und Standardkomponenten aufgebautes Serversystem und ist in einer Laborumgebung angeordnet. Die Videodaten werden von dem Datenverarbeitungssystem 102 unverarbeitet beziehungsweise als Rohdaten von einem Speichermedium 124, wie beispielsweise zumindest einer Festplatte eingelesen und an den Fahrzeugprozessor 106 übergeben. Die Übergabe wird durch die entsprechenden Betriebssysteme 112, 114 gesteuert. Der Fahrzeugprozessor 106 verarbeitet die unverarbeiteten Videodaten 108 zu den vorverarbeiteten Videodaten 110 und übergibt die vorverarbeiteten Videodaten 110 wieder an das Datenverarbeitungssystem 102. Die vorverarbeiteten Videodaten 110 werden dann der Softwarekomponente 110 als die Eingangsgrößen übergeben. Die Übergabe wird wieder durch die entsprechenden Betriebssysteme 112, 114 gesteuert.In the approach presented here, the data processing system 102 is a server system made up of standard processors and standard components and is arranged in a laboratory environment. The video data is read unprocessed by the data processing system 102 or as raw data from a storage medium 124, such as at least a hard drive, and transferred to the vehicle processor 106. The handover is controlled by the corresponding operating systems 112, 114. The vehicle processor 106 processes the unprocessed video data 108 into the pre-processed video data 110 and transfers the pre-processed video data 110 back to the data processing system 102. The pre-processed video data 110 is then transferred to the software component 110 as the input variables. The handover is again controlled by the corresponding operating systems 112, 114.

Die unverarbeiteten Videodaten 108 sind von zumindest einem Aufnahmefahrzeug während realen Fahrsituationen aus einer Fahrzeugperspektive aufgezeichnet worden und auf dem Speichermedium 124 abgespeichert worden, um für das Validieren mehrfach die gleichen Fahrsituationen verwenden zu können, wenn sich beispielsweise ein Entwicklungsstand der Softwarekomponente 116 ändert.The unprocessed video data 108 has been recorded from a vehicle perspective by at least one recording vehicle during real driving situations and has been stored on the storage medium 124 in order to be able to use the same driving situations several times for validation if, for example, a development status of the software component 116 changes.

Die Adapterplatine 104 ist über Standardschnittstellen 126 mit dem Datenverarbeitungssystem 102 verbunden. Dabei werden die unverarbeiteten Videodaten 108 und die vorverarbeiteten Videodaten 110 über eine schnelle Datenschnittstelle 128, wie beispielsweise eine PCIe-Schnittstelle ausgetauscht. Über eine Steuerungsschnittstelle 130, wie beispielsweise eine Ethernet-Schnittstelle, werden Steuersignale 132 zum Ansteuern des Fahrzeugprozessors 106 übertragen.The adapter board 104 is connected to the data processing system 102 via standard interfaces 126. The unprocessed video data 108 and the pre-processed video data 110 are exchanged via a fast data interface 128, such as a PCIe interface. Control signals 132 for controlling the vehicle processor 106 are transmitted via a control interface 130, such as an Ethernet interface.

In einem Ausführungsbeispiel wird unter Verwendung des Fahrzeugprozessors 106 ein optischer Fluss 134 der unverarbeiteten Videodaten 108 berechnet. Die Videodaten werden mit dem optischen Fluss 134 angereichert und so zu den vorverarbeiteten Videodaten 110. Durch das Anreichern der Videodaten wird eine Datenmenge der Videodaten vergrößert.In one embodiment, an optical flow 134 of the raw video data 108 is calculated using the vehicle processor 106. The video data is enriched with the optical flow 134 and thus becomes the preprocessed video data 110. By enriching the video data, a data quantity of the video data is increased.

In einem Ausführungsbeispiel werden unter Verwendung des Fahrzeugprozessors 106 aus den unverarbeiteten Videodaten 108 Tiefeninformationen 136 berechnet. Die Tiefeninformationen 136 werden in die Videodaten eingebettet.In one embodiment, depth information is created from the raw video data 108 using the vehicle processor 106 136 calculated. The depth information 136 is embedded into the video data.

In einem Ausführungsbeispiel wird ein Fortschritt der Softwarekomponente 116 überwacht und die Vorverarbeitung auf dem Fahrzeugprozessor 106 mit dem Fortschritt synchronisiert. Dazu wird eine den Fortschritt repräsentierende Fortschrittsinformation 138 von der Softwarekomponente 116 eingelesen und unter Verwendung der Fortschrittsinformation 138 Steuersignale 132 für den Fahrzeugprozessor 106 erzeugt. Dadurch kann der Fahrzeugprozessor 106 Schritt für Schritt angesteuert werden.In one embodiment, progress of the software component 116 is monitored and the preprocessing on the vehicle processor 106 is synchronized with the progress. For this purpose, progress information 138 representing the progress is read in by the software component 116 and control signals 132 for the vehicle processor 106 are generated using the progress information 138. This allows the vehicle processor 106 to be controlled step by step.

In einem Ausführungsbeispiel ist der Fahrzeugprozessor 106 gesockelt und somit austauschbar.In one embodiment, the vehicle processor 106 is socketed and therefore replaceable.

In einem Ausführungsbeispiel sind auf der Adapterplatine 104 Betriebseinrichtungen 140 zum Betreiben des Fahrzeugprozessors 106 angeordnet. Die Betriebseinrichtungen 140 sind beispielsweise Datenregister, die von dem Betriebssystem 112 angesprochen werden, um die Übergabe der unverarbeiteten Videodaten 108 und vorverarbeiteten Videodaten 110 bitgenau und deterministisch zu steuern.In one exemplary embodiment, operating devices 140 for operating the vehicle processor 106 are arranged on the adapter board 104. The operating devices 140 are, for example, data registers that are addressed by the operating system 112 in order to control the transfer of the unprocessed video data 108 and pre-processed video data 110 with bit-precision and deterministic control.

In einem Ausführungsbeispiel weist die Adapterplatine 104 keinen Kühler für den Fahrzeugprozessor 106 auf. Durch den Verzicht auf den Kühler kann die Adapterplatine in einem Standard-Steckplatz des Datenverarbeitungssystems 102 eingesteckt sein.In one embodiment, the adapter board 104 does not have a cooler for the vehicle processor 106. By eliminating the cooler, the adapter board can be plugged into a standard slot in the data processing system 102.

Nachfolgend werden mögliche Ausgestaltungen der Erfindung nochmals zusammengefasst bzw. mit einer geringfügig anderen Wortwahl dargestellt.Possible embodiments of the invention are summarized again below or presented with a slightly different choice of words.

Es wird Processor in the Loop (PiL)-Hardware zur Videodatenvorverarbeitung beim Recomputing vorgestellt.Processor in the Loop (PiL) hardware for video data preprocessing during recomputing is presented.

Der hier vorgestellte Ansatz bezieht sich auf die Videodatenvorverarbeitung im Kontext einer Software open Loop (SoL) Testplattform für das hochautomatisierte Fahren. Beim Testen und der Freigabe der Komponenten für das hochautomatisierte Fahren werden große reale (im Fahrzeug aufgezeichnete) Datenmengen der Sensoren, die verschiedene Fahrsituationen und Umgebungen umfassen, softwareseitig nachträglich abgespielt, um die Funktion der Softwarekomponenten während der Entwicklung sicherstellen zu können. Dies soll in einer angemessenen Testzeit erfolgen. Dabei sind gerade bei den Videosensoren wie der SVC die aufgezeichneten Datenmengen sehr groß. Hinzu kommt, dass diese Sensoren zur Datenvorverarbeitung, wie der Berechnung des optischen Flusses und von Tiefeninformationen spezielle Hardware im Fahrzeug benötigen, um die Zeitvorgaben zu erreichen. Diese Vorverarbeitungen reichern die Daten zusätzlich an und vergrößern sie. Dieser Ablauf im Fahrzeug kann zu Problemen im Recomputing führen.The approach presented here refers to video data preprocessing in the context of a software open loop (SoL) test platform for highly automated driving. When testing and releasing the components for highly automated driving, large amounts of real data (recorded in the vehicle) from the sensors, which include various driving situations and environments, are subsequently played back by the software in order to ensure the function of the software components during development. This should be done within a reasonable testing time. The amount of data recorded is particularly large with video sensors like the SVC. In addition, these sensors require special hardware in the vehicle for data preprocessing, such as the calculation of optical flow and depth information, in order to achieve the time specifications. These pre-processes further enrich and enlarge the data. This process in the vehicle can lead to problems in recomputing.

Einerseits gibt es die Möglichkeit, die vorverarbeiteten Daten im Fahrzeug aufzuzeichnen und dann im Recomputing abzuspielen. So kann die eigentliche Hardware des Fahrzeugs genutzt werden und es muss kein weiterer Aufwand getrieben werden. Allerdings sind die abzuspeichernden Datenmengen groß, das heißt, entsprechend teurer Speicher ist erforderlich. Entwickeln sich die Hardware und die Embedded Software evolutionär weiter oder werden Bugs gefixt, können zuvor aufgezeichnete Daten nicht mehr verwendet werden und es wird erforderlich, neue Fahrsituationen aufzuzeichnen, was zu einem erhöhten Aufwand und zum Verlust wichtiger Tests zu sehr seltenen Situationen führen kann.On the one hand, there is the option of recording the pre-processed data in the vehicle and then playing it back in recomputing. This means that the actual hardware of the vehicle can be used and no further effort has to be made. However, the amounts of data to be stored are large, which means correspondingly expensive storage is required. If the hardware and embedded software evolve or bugs are fixed, previously recorded data can no longer be used and it becomes necessary to record new driving situations, which can lead to increased effort and the loss of important tests in very rare situations.

Andererseits gibt es die Möglichkeit, in einem HoL (Hardware open Loop) Ansatz in Rechenzentren die Hardware aus dem Fahrzeug zu verbauen. Im Auto selbst werden dann die Rohdaten der Sensoren aufgezeichnet, welche im Rechenzentrum unabhängig weiterverarbeitet werden können. Dies hat den Vorteil, dass Änderungen an Hard- und Software abbildbar sind und Daten nicht verloren gehen. Allerdings bleiben der Speicheraufwand und es sind größere Mengen an Hardware erforderlich, die in entsprechend designten Rechenzentren verbaut und angesprochen werden. Dies kann gerade bei Freigabeszenarien, bei denen mehrere tausend Stunden Videomaterial möglichst schnell verarbeitet werden müssen, sehr teuer werden.On the other hand, there is the possibility of installing the hardware from the vehicle in a HoL (hardware open loop) approach in data centers. The raw data from the sensors is then recorded in the car itself, which can be further processed independently in the data center. This has the advantage that changes to hardware and software can be mapped and data is not lost. However, the storage costs remain and larger amounts of hardware are required, which are installed and addressed in appropriately designed data centers. This can be very expensive, especially in release scenarios where several thousand hours of video material must be processed as quickly as possible.

Eine weitere Möglichkeit ist, die Vorverarbeitung in Software auf Standard-CPUs umzusetzen. Dadurch fällt der Speicheraufwand weg, da die Orchestrierung im SoL-Kontext softwareseitig möglich ist. Zudem können aktualisierte Softwarestände immer wieder neu verwendet werden. Allerdings ist die Bildverarbeitung auf nicht speziell dafür ausgelegter Hardware extrem (ca. 1000-mal) langsamer, was die Lösung für große Datenmengen zur Softwarefreigabe unpraktikabel macht.Another option is to implement preprocessing in software on standard CPUs. This eliminates the need for storage since orchestration in the SoL context is possible in software. In addition, updated software versions can be used again and again. However, image processing on non-dedicated hardware is extremely (approximately 1000 times) slower, making the solution for large data sets for software sharing impractical.

Hier wird ein die Hardware eines Systems vorgestellt, welches die Vorteile aus den oben genannten Möglichkeiten vereint und zudem direkt in einem SoL-Recomputing Prozess verwendet und orchestriert werden kann. Es wird der PiL (Processor in the Loop) eingeführt. Der PiL ist eine eigens für das Recomputing entwickelte, leichtgewichtige Hardware mit entsprechender Simulationssoftware, die den zentralen Chip der Fahrzeughardware verbaut, aber im Simulationskontext von Software angesprochen und in Standard-Servern mittels PCIe-Schnittstelle zur Datenübertragung und Ethernet-Schnittstelle zur Steuerung verbaut werden kann. Dadurch ist es nicht erforderlich vorverarbeitete Daten abzuspeichern, da der zentrale Chip wie im Fahrzeug verwendet wird. The hardware of a system is presented here, which combines the advantages of the above-mentioned options and can also be used and orchestrated directly in a SoL recomputing process. The PiL (Processor in the Loop) is introduced. The PiL is a lightweight hardware with corresponding simulation software developed specifically for recomputing, which installs the central chip of the vehicle hardware, but is addressed by software in the simulation context and in standard servers using a PCIe interface point for data transmission and an Ethernet interface for control can be installed. This means that it is not necessary to save pre-processed data, as the central chip is used as in the vehicle.

Softwareänderungen können in der Simulation nachvollzogen werden und wichtige Rohdaten können zur Freigabe von Fahrzeugfunktionen dauerhaft verwendet werden.Software changes can be tracked in the simulation and important raw data can be used permanently to release vehicle functions.

Bisher werden SoL/SiL-Systeme, die eine softwareseitige(s) Recomputing bzw. Simulation ermöglichen oder HoL/HiL-Systeme, die mit der konkret entwickelten und im Fahrzeug verbauten Hardware als Grundlage die zu testende Software abspielen, verwendet. Beide Ansätze haben gewisse Vor- und Nachteile bezüglich Realitätsnähe, Schnelligkeit, Kosten, Aufwand. Diese Vor- und Nachteile können und werden durch optimierte Methoden und Optimierungen mitigiert, allerdings bleiben sie bestehen. Der hier vorgestellte Ansatz ist eine Optimierung, die das Beste aus beiden Welten vereint und die Vorteile in den Vordergrund stellt. Einen ähnlichen leichtgewichtigen Ansatz gibt es bisher noch nicht.So far, SoL/SiL systems that enable software-side recomputing or simulation or HoL/HiL systems that run the software to be tested using the specifically developed hardware installed in the vehicle as a basis have been used. Both approaches have certain advantages and disadvantages in terms of realism, speed, costs and effort. These advantages and disadvantages can and are mitigated through optimized methods and optimizations, but they remain. The approach presented here is an optimization that combines the best of both worlds and focuses on the advantages. A similar lightweight approach does not yet exist.

Durch den hier vorgestellten Ansatz ergibt sich die Möglichkeit, spezialisierte Hardware für besondere Einsatzzwecke, wie der Bildvorverarbeitung einer SVC im hochautomatisierten Fahrzeug, leichtgewichtig in einer softwaregestützten Resimulation/Recomputing verfügbar zu machen und diese dadurch zu beschleunigen. Mit Standard-Hardware (CPU, GPU) sind diese speziellen Aufgaben nicht in einem vertretbaren Zeitrahmen zu erledigen. Nur die spezialisierte und teilweise auch eigenentwickelte Hardware vermag dies. Allerdings ist der Einsatz der Hardware, die auch im Fahrzeug verbaut wird, sehr teuer, da ganze Platinen, die noch einige weitere Komponenten um den spezialisierten Chip herum verbauen, die aber nicht unbedingt im Recomputing benötigt werden, verwendet werden. Zudem sind dann spezielle HoL-Systeme nötig, die diese Hardware wie im Fahrzeug ansprechen und orchestrieren können.
Der Ansatz des PiL ist hingegen, den spezialisierten Chip auf eine einfache Platine zu bringen, die mittels einer PCIe- und Ethernetschnittstelle in einem Server verbaut werden kann. So wird es möglich, mittels Software, die Recompute-Tests durchführt auch die spezialisierte Hardware zu nutzen, zu orchestrieren und zu skalieren. Die Platine selbst ist dabei so designed, dass es möglichst einfach ist, den spezialisierten Chip auszutauschen, wenn neuere Modelle auf den Markt kommen (siehe V3H vs. V3U beispielsweise). Dazu ist es nur erforderlich, gewisse Leiterbahnen umzurouten.
The approach presented here makes it possible to make specialized hardware for special purposes, such as image pre-processing of an SVC in highly automated vehicles, easily available in software-supported resimulation/recomputing and thereby accelerate it. With standard hardware (CPU, GPU), these special tasks cannot be completed in a reasonable time frame. Only specialized and partly self-developed hardware can do this. However, the use of the hardware, which is also installed in the vehicle, is very expensive, as entire circuit boards are used that incorporate a few other components around the specialized chip, which are not necessarily needed in recomputing. In addition, special HoL systems are required that can address and orchestrate this hardware like in the vehicle.
PiL's approach, on the other hand, is to put the specialized chip on a simple circuit board that can be installed in a server using a PCIe and Ethernet interface. This makes it possible to use, orchestrate and scale specialized hardware using software that carries out recompute tests. The board itself is designed in such a way that it is as easy as possible to replace the specialized chip when newer models come onto the market (see V3H vs. V3U for example). All that is required is to reroute certain conductor tracks.

Es wird eine leichtgewichtige Platine mit spezialisiertem Chip vorgestellt, die eine Serverschnittstelle bietet, um sie in SiL/SoL-Systemen zu verwenden. Dabei werden Standardschnittstellen wie PCIe und Ethernet verwendet, um keine spezielle Serverhardware zu benötigen. Auch ist das Design der Platine so ausgelegt, dass der spezialisierte Chip in weiteren Versionen austauschbar bleibt. Das heißt auch, dass möglichst wenige weiter Komponenten verbaut werden. So sind zum Beispiel keine Kühler oder ähnliches verbaut.A lightweight board with a specialized chip is presented that provides a server interface to be used in SiL/SoL systems. Standard interfaces such as PCIe and Ethernet are used so that no special server hardware is required. The design of the circuit board is also designed so that the specialized chip remains interchangeable in other versions. This also means that as few other components as possible are installed. For example, there are no coolers or anything similar installed.

Dadurch können die Vorteile des spezialisierten Chips (Hardwarebeschleunigung, Nähe zum realen Einsatz) mit den Vorteilen des softwareseitigen Recomputing (Flexibilität, große Datenmengen, günstig) vereinigt werden. Zusätzlich bleibt der Vorteil, dass Änderungen der Hardware und Simulationssoftware abbildbar bleiben und alte im Fahrzeug aufgezeichnete Daten im Recomputing Bestand haben. Insbesondere seltene Fahrsituationen sind dabei wertvoll. Dadurch das die Platine im Vergleich zum Steuergerät auch sehr günstig ist, lässt sich der hier vorgestellte Ansatz auch im Sinne einer Softwaresimulation sehr gut skalieren.This means that the advantages of the specialized chip (hardware acceleration, proximity to real use) can be combined with the advantages of software-based recomputing (flexibility, large amounts of data, cheap). The additional advantage remains that changes to the hardware and simulation software can still be mapped and old data recorded in the vehicle remains in recomputing. Rare driving situations are particularly valuable. Because the circuit board is also very cheap compared to the control unit, the approach presented here can also be scaled very well in terms of software simulation.

Die hier vorgestellte Hardware des PiL dient dazu, spezialisierte Hardware-Chips für Datenvorverarbeitungen in einem softwareseitigen Recomputing im Serververbund zur Verfügung zu stellen. Dazu ist die Platine als leichtgewichtige Adapterplatine designed, die sehr einfach gehalten ist. Sie beinhaltet eine PCIe-Schnittstelle zur Datenübertragung und eine Ethernet-Schnittstelle für Steuersignale. Der spezialisierte IP-Chip ist dann das einzig weitere große Bauteil. Die restliche Hardware besteht nur aus kleinen Komponenten, die der IP-Chip benötigt. Der IP-Chip selbst enthält ein leichtgewichtiges Linux-System, in dem eine Simulationssoftware laufen kann, die die Hardwarekomponenten abhängig von den Steuersignalen anspricht und die Ergebnisse bereitstellt. Die Daten kommen über den Host-Server, der als Bare-Metal-Server oder VM ausgeführt sein kann. Dieser Server verbaut die Adapterplatine über die Schnittstellen und beinhaltet selbst ein Software-Gateway, welches die Steuersignale und Daten über entsprechende Treiber and die Platine weitergeben und diese überwachen kann. Zusätzlich sind sowohl die Adapterplatine als auch der Service im Netzwerk verfügbar, um das Setup und Updates zu ermöglichen.The PiL hardware presented here serves to provide specialized hardware chips for data preprocessing in software-side recomputing in the server network. The board is designed as a lightweight adapter board that is kept very simple. It includes a PCIe interface for data transmission and an Ethernet interface for control signals. The specialized IP chip is then the only other large component. The remaining hardware only consists of small components that the IP chip requires. The IP chip itself contains a lightweight Linux system in which simulation software can run, which addresses the hardware components depending on the control signals and provides the results. The data comes via the host server, which can be designed as a bare metal server or VM. This server installs the adapter board via the interfaces and itself contains a software gateway, which can pass on the control signals and data to the board via appropriate drivers and monitor them. Additionally, both the adapter board and service are available on the network to enable setup and updates.

Es wird eine PCIe-Platine mit Vorverarbeitungshardware (IP-Chip) zur Vorverarbeitung großer Videosequenzen und Simulationssoftware in einem Server-Cluster mittels Ethernet und PCIe eingebunden und zum Recomputing von Komponenten des Hochautomatisierten Fahrens verwendet, kann die Verwendung nachgewiesen werden.A PCIe board with pre-processing hardware (IP chip) for pre-processing large video sequences and simulation software is integrated into a server cluster using Ethernet and PCIe and used for recomputing components of highly automated driving, the use can be proven.

Abschließend ist darauf hinzuweisen, dass Begriffe wie „aufweisend“, „umfassend“, etc. keine anderen Elemente oder Schritte ausschließen und Begriffe wie „eine“ oder „ein“ keine Vielzahl ausschließen. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.Finally, it should be noted that terms such as "comprising", "comprising", etc. do not exclude other elements or steps, and terms such as "a" or "an" do not exclude a plurality. Reference symbols in the claims are not to be viewed as a limitation.

Claims (9)

Adapterplatine (104) zur Videovorverarbeitung von unverarbeiteten Videodaten (108) auf einem Fahrzeugprozessor (106), wobei die unverarbeiteten Videodaten (108) zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation (118) abbilden, wobei die Adapterplatine (118) zumindest den einen Fahrzeugprozessor (106) zur Vorverarbeitung der unverarbeiteten Videodaten (108) zu vorverarbeiteten Videodaten (110) und zumindest eine Standardschnittstelle (126) für die Videodaten aufweist.Adapter board (104) for video pre-processing of unprocessed video data (108) on a vehicle processor (106), the unprocessed video data (108) depicting at least one driving situation (118) recorded from a vehicle perspective of a recording vehicle, the adapter board (118) representing at least one vehicle processor (106) for preprocessing the unprocessed video data (108) into preprocessed video data (110) and at least one standard interface (126) for the video data. Adapterplatine (104) gemäß Anspruch 1, bei der zumindest eine der Standardschnittstellen (126) als Datenschnittstelle (128) ausgebildet ist.Adapter board (104) according to Claim 1 , in which at least one of the standard interfaces (126) is designed as a data interface (128). Adapterplatine (104) gemäß Anspruch 2, bei der die Datenschnittstelle (128) als PCIe-Schnittstelle ausgeführt ist.Adapter board (104) according to Claim 2 , in which the data interface (128) is designed as a PCIe interface. Adapterplatine (104) gemäß einem der vorhergehenden Ansprüche, bei der zumindest eine der Standardschnittstellen (126) als Steuerungsschnittstelle (130) ausgebildet ist.Adapter board (104) according to one of the preceding claims, in which at least one of the standard interfaces (126) is designed as a control interface (130). Adapterplatine (104) gemäß Anspruch 4, bei der die Steuerungsschnittstelle (130) als Ethernetschnittstelle ausgeführt ist.Adapter board (104) according to Claim 4 , in which the control interface (130) is designed as an Ethernet interface. Adapterplatine (104) gemäß einem der vorhergehenden Ansprüche, bei der der Fahrzeugprozessor (106) austauschbar ist.Adapter board (104) according to one of the preceding claims, wherein the vehicle processor (106) is replaceable. Adapterplatine (104) gemäß einem der vorhergehenden Ansprüche, mit Betriebseinrichtungen (140) zum Betreiben des Fahrzeugprozessors (104).Adapter board (104) according to one of the preceding claims, with operating devices (140) for operating the vehicle processor (104). Adapterplatine (104) gemäß einem der vorhergehenden Ansprüche, wobei die Adapterplatine (104) kühlerlos ist.Adapter board (104) according to one of the preceding claims, wherein the adapter board (104) is coolerless. Validierungssystem (100) zum Validieren einer Softwarekomponente (116) für hochautomatisiertes Fahren, wobei das Validierungssystem (100) ein Datenverarbeitungssystem (102) und zumindest eine Adapterplatine (104) gemäß einem der Ansprüche 1 bis 8 aufweist.Validation system (100) for validating a software component (116) for highly automated driving, the validation system (100) comprising a data processing system (102) and at least one adapter board (104) according to one of Claims 1 until 8th having.
DE102022206325.2A 2022-06-23 2022-06-23 Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving Pending DE102022206325A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022206325.2A DE102022206325A1 (en) 2022-06-23 2022-06-23 Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving
PCT/EP2023/066723 WO2023247588A1 (en) 2022-06-23 2023-06-21 Adapter board for video preprocessing of unprocessed video data on a vehicle processor, and validation system for validating a software component for highly automated driving

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022206325.2A DE102022206325A1 (en) 2022-06-23 2022-06-23 Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving

Publications (1)

Publication Number Publication Date
DE102022206325A1 true DE102022206325A1 (en) 2023-12-28

Family

ID=87036457

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206325.2A Pending DE102022206325A1 (en) 2022-06-23 2022-06-23 Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving

Country Status (2)

Country Link
DE (1) DE102022206325A1 (en)
WO (1) WO2023247588A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085670B2 (en) * 1998-02-17 2006-08-01 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources

Also Published As

Publication number Publication date
WO2023247588A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
DE102018215057A1 (en) MACHINE LEARNING DEVICE, ROBOTIC SYSTEM AND MACHINE LEARNING PROCEDURE
DE69433616T2 (en) CENTRALIZED SYSTEM AND METHOD FOR MANAGING COMPUTER-ASSISTED TESTS
DE112008003732T5 (en) Automatic Reproduction Test Device and Automatic Reproduction Test Procedure in an Embedded System
CN108763009B (en) Server stress test method, system, equipment and computer readable storage medium
DE102012211981A1 (en) Method and apparatus for creating and testing a controller program
DE102008021030A1 (en) Vehicle e.g. car, operating method, involves transmitting data required for changing or downloading software of control devices over physical interface, by manager, and managing and distributing data
DE102019204139A1 (en) Training for artificial neural networks with better utilization of the learning data sets
DE102017210975A1 (en) Method for collecting data
DE102022206325A1 (en) Adapter board for video preprocessing of unprocessed video data on a vehicle processor and validation system for validating a software component for highly automated driving
DE102022206326A1 (en) Method and validation system for validating a software component for highly automated driving
DE10059475A1 (en) Information processing device and storage device attached to a vehicle
DE102022206308A1 (en) Operating system for operating a vehicle processor for video preprocessing of unprocessed video data on an adapter board and operating system for operating the adapter board
DE102017109132A1 (en) Method and IT infrastructure for model-based testing of software for a vehicle application system and for providing corresponding test results
DE102019206047A1 (en) Training of trainable modules with learning data whose labels are noisy
EP3596428B1 (en) Method and device for updating a digital map for vehicle navigation
DE102005021128A1 (en) Driving simulator for simulation of vehicle environment, has video system for detection of vehicle environment represented by picture representation unit, where system is designed for receiving driving dynamics data from interface
DE102005038462A1 (en) Data and/or software module transmitting method, involves transmitting associated data and/or software module into corresponding components of vehicle equipment by vehicle-sided reader based on information received from control centre
DE102020121988A1 (en) Electromobility charge test system and electromobility charge test method
DE102014106436A1 (en) Providing customized fuel economy ratings based on a customer driving cycle
DE102021111724B4 (en) Method and computer program for evaluating a software version of a driver assistance system
DE102014004553B4 (en) Procedure for testing a control unit
DE102022110843A1 (en) Method and device for configuring a module for simulating at least one sensor
DE102020215286A1 (en) Method for providing program data from a database
WO2024132949A1 (en) Method and system for the criteria-based extraction of image data
DE202022103581U1 (en) Modular framework for an intelligent robot