WO2023247548A1 - 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 - Google Patents

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 Download PDF

Info

Publication number
WO2023247548A1
WO2023247548A1 PCT/EP2023/066654 EP2023066654W WO2023247548A1 WO 2023247548 A1 WO2023247548 A1 WO 2023247548A1 EP 2023066654 W EP2023066654 W EP 2023066654W WO 2023247548 A1 WO2023247548 A1 WO 2023247548A1
Authority
WO
WIPO (PCT)
Prior art keywords
video data
vehicle
operating system
adapter board
data
Prior art date
Application number
PCT/EP2023/066654
Other languages
German (de)
French (fr)
Inventor
Christian Schilling
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
Publication of WO2023247548A1 publication Critical patent/WO2023247548A1/en

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Definitions

  • the invention relates to an operating system for operating a vehicle processor for video preprocessing of unprocessed video data on an adapter board and an operating system for operating an adapter board for video preprocessing of unprocessed video data on a vehicle processor.
  • 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.
  • 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.
  • the approach presented here presents an operating system for operating a vehicle processor for video preprocessing of unprocessed video data on an adapter board and an operating system for operating an adapter board for video preprocessing of unprocessed video data on a vehicle processor according to the independent claims.
  • 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.
  • 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.
  • 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 the computer system back.
  • the software component to be validated is executed on the computer system and its reactions are evaluated.
  • 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.
  • An operating system for operating a vehicle processor for video preprocessing 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 reading 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.
  • 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.
  • a method for validating a software component for highly automated driving wherein unprocessed video data, which depicts at least one driving situation recorded from a vehicle perspective of a recording vehicle, is read in by a data processing system and using a data processing system with the Data processing system connected vehicle processor for video preprocessing (PiL) are processed into preprocessed video data, the vehicle processor being arranged on an adapter board and connected to the data processing system via standard interfaces, the preprocessed video data being used by the data processing system as input variables for the software component to be validated and an in The reaction 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.
  • unprocessed video data which depicts at least one driving situation recorded from a vehicle perspective of a recording vehicle
  • 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.
  • 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.
  • 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.
  • 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.
  • a driving situation can be a situation while a vehicle is driving.
  • the driving situation can include fixed and moving objects in an environment of 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.
  • 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.
  • 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.
  • 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.
  • 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 does not have any unnecessary ones 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.
  • 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.
  • An operating system for operating the vehicle processor can run on the adapter board.
  • the operating system can be installed on the adapter board.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 high speed.
  • 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.
  • 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.
  • 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.
  • 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 the preprocessing.
  • the step-by-step preprocessing means that there is no need to temporarily store the preprocessed video data.
  • the progress information can be from at least one of the Operating systems are read and processed.
  • the routines of the operating systems can be synchronized by the control signals.
  • the operating system for operating the adapter board may have a control routine for providing control signals for 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.
  • the unprocessed video data can be transferred to the adapter board in bulk.
  • a bulk can be a data packet.
  • a bulk can have a predetermined number of individual images or a predefined time period.
  • the vehicle processor can be operated at full capacity.
  • the provision routines and read routines can control the bulk transfer.
  • At least one of the standard interfaces can be designed as a data interface.
  • 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.
  • At least one of the standard interfaces can be designed as a control interface.
  • the control interface can be used as Ethernet interface must be implemented.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1 shows a representation of a validation system according to an exemplary embodiment
  • the validation system 100 consists of a data processing system 102 and at least one connected to the data processing system 102 via an adapter board 104
  • Vehicle processor 106 for preprocessing unprocessed video data 108 into preprocessed video data 110. Similar vehicle processors can be installed in highly automated vehicles in order to preprocess unprocessed video data from video sensors of the vehicles for 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.
  • 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.
  • 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.
  • 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 passed to the software component 110 as the input variables.
  • the handover is again controlled by the corresponding operating systems 112, 114.
  • 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.
  • 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.
  • 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.
  • depth information 136 is calculated from the unprocessed video data 108 using the vehicle processor 106.
  • the depth information 136 is embedded into the video data.
  • progress of the software component 116 is monitored and the preprocessing on the vehicle processor 106 is synchronized with the progress.
  • 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.
  • the vehicle processor 106 is socketed and therefore replaceable.
  • 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.
  • 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.
  • the approach presented here refers to video data preprocessing in the context of a software open loop (SoL) test platform for highly automated driving.
  • SoL software open loop
  • 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.
  • 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.
  • 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.
  • the software 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
  • the PiL is a lightweight hardware with corresponding simulation software developed specifically for recomputing, which installs the central chip of the vehicle hardware, but can be addressed by software in the simulation context and installed in standard servers using a PCIe interface for data transmission and an Ethernet interface for control . This means that it is not necessary to save pre-processed data, as the central chip is used as in the vehicle. Software changes can be tracked in the simulation and important raw data can be used permanently to release vehicle functions.
  • 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.
  • the PiL approach is to put the specialized chip on a simple circuit board. This can then be used in an SiL/SoL cluster to orchestrate the data pre-processing by recomputing.
  • An operating system (lightweight Linux) runs on the chip.
  • software receives data, addresses the correct hardware interfaces on the chip and carries out the processing. The results are then made available again and received in the host server.
  • the chip software and the server software have a common interface through which they can communicate.
  • the Software then produces the same results as they would be produced in the real vehicle.
  • the simulation software presented allows control and data transfer from the host server to the board with a specialized chip and at the same time realizes correct execution, i.e. bit-precise and deterministic processing of the pre-processing on the hardware. This ensures that fast, vehicle-like preprocessing takes place, which can be controlled and used directly in a recomputing system.
  • the PiL software presented here is used to provide specialized hardware chips for data preprocessing in software-side recomputing in the server network.
  • the software is based on the LESS simulation software, which is already available for software resimulation of video pre-processing on standard hardware and thus guarantees correspondence to the vehicle software and joint further development. This is adjusted in the layer that abstracts the hardware so that the real hardware of the chip can be addressed. It is then compiled for the Linux that runs on the IP chip and brought onto the chip in the (automated) system setup step. It is also possible to change the software versions here.
  • the second part of the software relates to the host server.
  • the simulation system is also compiled and installed here in order to maintain the seamless integration of target and host.
  • TCP Transmission Control Protocol
  • the host side loads this data (MF4 or other formats depending on the reader), passes it to the target, which then takes over the execution.
  • the execution is then the sequence of various preprocessing steps from information extraction from the image (ISP) to the rectification of the image (IMR) to the depth information calculation (disparity) and to the calculation of the optical flow (UMF) with the IP of the chip.
  • ISP information extraction from the image
  • IMR rectification of the image
  • UMF optical flow
  • the result is then returned to the host via TCP. Since this process is atomic for is a frame, it can be addressed, executed and monitored image by image by a SoL or SiL layer above it. This enables seamless integration into such workflows without any storage effort.
  • LESS is not available or another simulation basis is used, this is also possible as long as the requirements described are met, as the basis is a Linux OS, which allows a variety of software versions.
  • IP chip preprocessing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to an operating system (112) for operating a vehicle processor (106) for video pre-processing of unprocessed video data (108) on an adapter board (104), the unprocessed video data (108) representing at least one driving situation (118) recorded from a vehicle perspective of a recording vehicle, the operating system (112) comprising: an input routine for reading the unprocessed video data (108) from a data processing system (102) via a standard interface (126) of the adapter board (104); a forwarding routine for forwarding the unprocessed video data (108) to the vehicle processor (106) in a bit-accurate and deterministic manner; a receiving routine for receiving pre-processed video data (110) from the vehicle processor (106) in a bit-accurate and deterministic manner; and a provisioning routine for providing the preprocessed video data (110) to the data processing system (102) via the standard interface (126).

Description

Beschreibung Description
Betriebssystem zum Betreiben eines Fahrzeugprozessors zurOperating system for operating a vehicle processor
Videovorverarbeitung von unverarbeiteten Videodaten auf einer Adapterplatine und Betriebssystem zum Betreiben der Adapterplatine Video preprocessing of unprocessed video data on an adapter board and operating system for operating the adapter board
Gebiet der Erfindung Field of invention
Die Erfindung betrifft ein Betriebssystem zum Betreiben eines Fahrzeugprozessors zur Videovorverarbeitung von unverarbeiteten Videodaten auf einer Adapterplatine und ein Betriebssystem zum Betreiben einer Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor. The invention relates to an operating system for operating a vehicle processor for video preprocessing of unprocessed video data on an adapter board and an operating system for operating an adapter board for video preprocessing of unprocessed video data on a vehicle processor.
Stand der Technik State 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. The 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 Erfindung Disclosure of the invention
Vor diesem Hintergrund werden mit dem hier vorgestellten Ansatz ein Betriebssystem zum Betreiben eines Fahrzeugprozessors zur Videovorverarbeitung von unverarbeiteten Videodaten auf einer Adapterplatine und ein Betriebssystem zum Betreiben einer Adapterplatine zur Videovorverarbeitung von unverarbeiteten Videodaten auf einem Fahrzeugprozessor 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 operating system for operating a vehicle processor for video preprocessing of unprocessed video data on an adapter board and an operating system for operating an adapter board for video preprocessing of unprocessed video data on a vehicle processor 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 Erfindung Advantages 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 the computer system back. 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 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. An operating system for operating a vehicle processor for video preprocessing 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 reading 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.
Weiterhin 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.
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 depicts at least one driving situation recorded from a vehicle perspective of a recording vehicle, is read in by a data processing system and using a data processing system with the Data processing system connected vehicle processor for video preprocessing (PiL) are processed into preprocessed video data, the vehicle processor being arranged on an adapter board and connected to the data processing system via standard interfaces, the preprocessed video data being used by the data processing system as input variables for the software component to be validated and an in The reaction 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.
Ferner 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. Furthermore, 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.
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 include fixed and moving objects in an environment of 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 does not have any unnecessary ones 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. 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. 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. 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 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 the preprocessing. The step-by-step preprocessing means that there is no need to temporarily store the preprocessed video data. The progress information can be from at least one of the Operating systems are read and processed. 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 for 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 used as Ethernet interface must be implemented. 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. 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. 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. 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 can be suitably combined, adapted or exchanged to arrive at further embodiments of the invention.
Kurze Beschreibung der Zeichnung Short 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. 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.
Fig. 1 zeigt eine Darstellung eines Validierungssystems gemäß einem Ausführungsbeispiel; 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 Erfindung Embodiments of the invention
Fig. 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 connected to the data processing system 102 via an adapter board 104 Vehicle processor 106 for preprocessing unprocessed video data 108 into preprocessed video data 110. Similar vehicle processors can be installed in highly automated vehicles in order to preprocess unprocessed video data from video sensors of the vehicles for 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 passed 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 136 is calculated from the unprocessed video data 108 using the vehicle processor 106. 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 einem Ausführungsbeispiel ist der Fahrzeugprozessor 106 gesockelt und somit austauschbar. 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 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 eine Processor in the Loop (Pi L) -Software zur Videodatenvorverarbeitung beim Recomputing vorgestellt. A Processor in the Loop (Pi L) software 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. So can 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 die Software eines Systems vorgestellt, welche 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. Softwareänderungen können in der Simulation nachvollzogen werden und wichtige Rohdaten können zur Freigabe von Fahrzeugfunktionen dauerhaft verwendet werden. The software 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 can be addressed by software in the simulation context and installed in standard servers using a PCIe interface for data transmission and an Ethernet interface for control . This means that it is not necessary to save pre-processed data, as the central chip is used as in the vehicle. 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. 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.
Der Ansatz des PiL ist hingegen, den spezialisierten Chip auf eine einfache Platine zu bringen. Diese kann dann in einem SiL/SoL-Cluster eingebaut dazu verwendet werden, die Datenvorverarbeitung vom Recomputing orchestriert durchzuführen. Dazu läuft auf dem Chip ein Betriebssystem (leichtgewichtiges Linux). Zusätzlich werden von einer Software Daten entgegengenommen, die richtigen Hardwareschnittstellen des Chips angesprochen und die Bearbeitung ausgeführt. Die Ergebnisse werden dann wieder bereitgestellt und im Hostserver entgegengenommen. Dazu weisen die Chip-Software und die Server-Software eine gemeinsame Schnittstelle auf, über die sie kommunizieren können. Die Software erzeugt dann sie dieselben Ergebnisse, wie sie im realen Fahrzeug erzeugt werden würden. The PiL approach, on the other hand, is to put the specialized chip on a simple circuit board. This can then be used in an SiL/SoL cluster to orchestrate the data pre-processing by recomputing. An operating system (lightweight Linux) runs on the chip. In addition, software receives data, addresses the correct hardware interfaces on the chip and carries out the processing. The results are then made available again and received in the host server. For this purpose, the chip software and the server software have a common interface through which they can communicate. The Software then produces the same results as they would be produced in the real vehicle.
Die vorgestellte Simulationssoftware erlaubt ein Steuern und eine Datenübertragung vom Host-Server zur Platine mit spezialisiertem Chip und realisiert gleichzeitig die korrekte Ausführung, also eine bitgenaue und deterministische Prozessierung der Vorverarbeitung auf der Hardware. Damit wird erreicht, dass eine schnelle, fahrzeuggleiche Vorverarbeitung stattfindet, die direkt in einem Recomputingsystem angesteuert und verwendet werden kann. The simulation software presented allows control and data transfer from the host server to the board with a specialized chip and at the same time realizes correct execution, i.e. bit-precise and deterministic processing of the pre-processing on the hardware. This ensures that fast, vehicle-like preprocessing takes place, which can be controlled and used directly in a recomputing system.
Die Entwicklung dieser Software kann Hand in Hand mit den Teams gehen, die die Software für das Fahrzeug entwickeln. Auch diese können die Software testen, was mit dem PiL einfach möglich ist. So wird Experten- Knowhow genutzt und sichergestellt, dass reale Software und Resimulation der Vorverarbeitung übereinstimmen. The development of this software can go hand in hand with the teams that develop the software for the vehicle. They can also test the software, which is easily possible with the PiL. In this way, expert know-how is used and ensures that real software and resimulation of the preprocessing match.
Die hier vorgestellte Software des PiL dient dazu, spezialisierte Hardware-Chips für Datenvorverarbeitungen in einem softwareseitigen Recomputing im Serververbund zur Verfügung zu stellen. Die Software beruht dabei auf der Basis der Simulationssoftware LESS, die es bereits zur softwareseitigen Resimulation der Videovorverarbeitung auf Standardhardware gibt und somit die Entsprechung zur Fahrzeugsoftware und die gemeinsame Weiterentwicklung garantiert. Diese wird in dem Layer, der die Hardware abstrahiert, so angepasst, dass die reale Hardware des Chips angesprochen werden kann. Selbst wird sie dann für das Linux, welches auf dem IP-Chip läuft, kompiliert und im Schritt des (automatisierten) Setup des Systems auf den Chip gebracht. Hier besteht auch die Möglichkeit die Softwareversionen zu ändern. Der zweite Anteil der Software bezieht sich auf den Hostserver. Hier wird ebenfalls das Simulationssystem kompiliert und aufgespielt, um die nahtlose Integration von Target und Host zu erhalten. Über einen TCP-Layer (Ethernet und PCIe-Abstraktion Treiber ermöglichen dies hardwareseitig) werden dann Daten und Steuersignale ausgetauscht. Die Hostseite lädt diese Daten (MF4 oder andere Formate je nach Reader), übergibt sie an das Target, welches dann die Ausführung übernimmt. Die Ausführung ist dann die Sequenz verschiedener Vorverarbeitungsschritte von Informationsextraktion aus dem Bild (ISP) über die Rektifikation des Bildes (IMR) bis zur Tiefeninformationsberechnung (Disparity) und zur Berechnung des optischen Flusses (UMF) mit der IP des Chips. Das Ergebnis wird dann wiederum über TCP an den Host zurückgegeben. Da dieser Prozess atomar für einen Frame ist, kann er entsprechend von einem darüber liegenden SoL oder SiL-Layer bildweise angesprochen, ausgeführt und überwacht werden. Das ermöglicht die nahtlose Integration in solche Workflows ohne Speicheraufwand. The PiL software presented here is used to provide specialized hardware chips for data preprocessing in software-side recomputing in the server network. The software is based on the LESS simulation software, which is already available for software resimulation of video pre-processing on standard hardware and thus guarantees correspondence to the vehicle software and joint further development. This is adjusted in the layer that abstracts the hardware so that the real hardware of the chip can be addressed. It is then compiled for the Linux that runs on the IP chip and brought onto the chip in the (automated) system setup step. It is also possible to change the software versions here. The second part of the software relates to the host server. The simulation system is also compiled and installed here in order to maintain the seamless integration of target and host. Data and control signals are then exchanged via a TCP layer (Ethernet and PCIe abstraction drivers enable this on the hardware side). The host side loads this data (MF4 or other formats depending on the reader), passes it to the target, which then takes over the execution. The execution is then the sequence of various preprocessing steps from information extraction from the image (ISP) to the rectification of the image (IMR) to the depth information calculation (disparity) and to the calculation of the optical flow (UMF) with the IP of the chip. The result is then returned to the host via TCP. Since this process is atomic for is a frame, it can be addressed, executed and monitored image by image by a SoL or SiL layer above it. This enables seamless integration into such workflows without any storage effort.
Sollte LESS nicht zur Verfügung stehen oder eine andere Simulationsbasis genutzt werden, ist dies auch möglich, solange die beschriebenen Anforderungen eingehalten werden, da als Basis ein Linux-OS läuft, welches eine vielfältige Softwareausprägung erlaubt. If LESS is not available or another simulation basis is used, this is also possible as long as the requirements described are met, as the basis is a Linux OS, which allows a variety of software versions.
Es wird eine Platine mit Vorverarbeitungshardware (IP-Chip), der eine bitgenaue und deterministische Simulationssoftware in einem Linux-System enthält, als Vorverarbeitung von Videosequenzen zur Berechnung des optischen Flusses und Tiefeninformationen genutzt. A board with preprocessing hardware (IP chip) containing bit-accurate and deterministic simulation software in a Linux system is used to preprocess video sequences to calculate optical flow and depth information.
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

Ansprüche Expectations
1. Betriebssystem (112) zum Betreiben eines Fahrzeugprozessors (106) zur Videovorverarbeitung von unverarbeiteten Videodaten (108) auf einer Adapterplatine (104), wobei die unverarbeiteten Videodaten (108) zumindest eine aus einer Fahrzeugperspektive eines Aufnahmefahrzeugs aufgezeichnete Fahrsituation (118) abbilden, wobei das Betriebssystem (112) eine Einleseroutine zum Einlesen der unverarbeiteten Videodaten (108) von einem Datenverarbeitungssystem (102) über eine Standardschnittstelle (126) der Adapterplatine (104), eine Weitergaberoutine zum bitgenauen und deterministischen Weitergeben der unverarbeiteten Videodaten (108) an den Fahrzeugprozessor (106), eine Entgegennahmeroutine zum bitgenauen und deterministischen Entgegennehmen von vorverarbeiteten Videodaten (110) von dem Fahrzeugprozessor (106) und eine Bereitstellungsroutine zum Bereitstellen der vorverarbeiteten Videodaten (110) für das Datenverarbeitungssystem (102) über die Standardschnittstelle (126) aufweist. 1. Operating system (112) for operating a vehicle processor (106) for video pre-processing of unprocessed video data (108) on an adapter board (104), the unprocessed video data (108) depicting at least one driving situation (118) recorded from a vehicle perspective of a recording vehicle, wherein the operating system (112) has a read-in routine for reading in the unprocessed video data (108) from a data processing system (102) via a standard interface (126) of the adapter board (104), a forwarding routine for bit-accurate and deterministic forwarding of the unprocessed video data (108) to the vehicle processor ( 106), a receiving routine for bit-precise and deterministic receipt of preprocessed video data (110) from the vehicle processor (106) and a provision routine for providing the preprocessed video data (110) to the data processing system (102) via the standard interface (126).
2. Betriebssystem (112) gemäß Anspruch 1, bei dem die Weitergaberoutine dazu ausgebildet ist, ansprechend auf über eine weitere Standardschnittstelle (126) der Adapterplatine (104) von dem Datenverarbeitungssystem (102) eingelesene Steuersignale (132) die unverarbeiteten Videodaten (108) Schritt für Schritt an den Fahrzeugprozessor (106) weiterzugeben, und die Entgegennahmeroutine dazu ausgebildet ist, die vorverarbeiteten Videodaten (110) ansprechend auf die Steuersignale (132) Schritt für Schritt von dem Fahrzeugprozessor (106) entgegenzunehmen. 2. Operating system (112) according to claim 1, in which the forwarding routine is designed to process the unprocessed video data (108) in response to control signals (132) read in from the data processing system (102) via a further standard interface (126) of the adapter board (104). step by step to the vehicle processor (106), and the receiving routine is designed to receive the preprocessed video data (110) step by step from the vehicle processor (106) in response to the control signals (132).
3. Betriebssystem (114) zum Betreiben einer 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 das Betriebssystem (114) eine Bereitstellungsroutine zum Bereitstellen der unverarbeiteten Videodaten (108) für die Adapterplatine (104) über eine Standardschnittstelle (126) eines Datenverarbeitungssystems (102) und eine Einleseroutine zum Einlesen von vorverarbeiteten Videodaten (110) von der Adapterplatine (104) über die Standardschnittstelle (126) aufweist. 3. Operating system (114) for operating 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, wherein the operating system (114) has a provision routine for providing the unprocessed Video data (108) for the adapter board (104) via a standard interface (126) of a data processing system (102) and a read-in routine for reading in pre-processed video data (110) from the adapter board (104) via the standard interface (126).
4. Betriebssystem (114) gemäß Anspruch 3, mit einer Steuerroutine zum Bereitstellen von Steuersignalen (132) für die Adapterplatine (104) über eine weitere Standardschnittstelle (126) des Datenverarbeitungssystems (102). 4. Operating system (114) according to claim 3, with a control routine for providing control signals (132) for the adapter board (104) via a further standard interface (126) of the data processing system (102).
5. Betriebssystem (114) gemäß Anspruch 4, bei der die Steuerroutine dazu ausgebildet ist, eine Fortschrittsinformation (138) von der Softwarekomponente (116) einzulesen und unter Verwendung der Fortschrittsinformation (138) die Steuersignale (132) zu erzeugen. 5. Operating system (114) according to claim 4, in which the control routine is designed to read progress information (138) from the software component (116) and to generate the control signals (132) using the progress information (138).
6. Betriebssystem (112, 114) gemäß einem der vorhergehenden Ansprüche, bei dem zum Übertragen der Steuersignale (132) eine Ethernet-Schnittstelle angesprochen wird. 6. Operating system (112, 114) according to one of the preceding claims, in which an Ethernet interface is addressed to transmit the control signals (132).
7. Betriebssystem (112, 114) gemäß einem der vorhergehenden Ansprüche, bei dem zum Übertragen der unverarbeiteten Videodaten (108) und zum Übertragen der vorverarbeiteten Videodaten (110) eine PCIe-Schnittstelle angesprochen wird. 7. Operating system (112, 114) according to one of the preceding claims, in which a PCIe interface is addressed to transmit the unprocessed video data (108) and to transmit the pre-processed video data (110).
8. Betriebssystem (112, 114) gemäß einem der vorhergehenden Ansprüche, wobei das Betriebssystem (112, 114) ein Linux-Betriebssystem ist. 8. Operating system (112, 114) according to any one of the preceding claims, wherein the operating system (112, 114) is a Linux operating system.
PCT/EP2023/066654 2022-06-23 2023-06-20 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 WO2023247548A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022206308.2 2022-06-23
DE102022206308.2A DE102022206308A1 (en) 2022-06-23 2022-06-23 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

Publications (1)

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

Family

ID=87036287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/066654 WO2023247548A1 (en) 2022-06-23 2023-06-20 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

Country Status (2)

Country Link
DE (1) DE102022206308A1 (en)
WO (1) WO2023247548A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015862A1 (en) * 1998-02-17 2006-01-19 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
US20190121682A1 (en) * 2015-04-26 2019-04-25 Intel Corporation Integrated android and windows device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015862A1 (en) * 1998-02-17 2006-01-19 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
US20190121682A1 (en) * 2015-04-26 2019-04-25 Intel Corporation Integrated android and windows device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOREAC ERWAN ET AL: "Hardware-in-the-loop simulation with dynamic partial FPGA reconfiguration applied to computer vision in ROS-based UAV", 2020 INTERNATIONAL WORKSHOP ON RAPID SYSTEM PROTOTYPING (RSP), IEEE, 24 September 2020 (2020-09-24), pages 1 - 7, XP033850369, DOI: 10.1109/RSP51120.2020.9244863 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE102016220670A1 (en) Method and system for testing software for autonomous vehicles
DE102018215057A1 (en) MACHINE LEARNING DEVICE, ROBOTIC SYSTEM AND MACHINE LEARNING PROCEDURE
DE102018206188A1 (en) System for performing XiL tests on components of self-driving motor vehicles
DE102019204139A1 (en) Training for artificial neural networks with better utilization of the learning data sets
DE102017210975A1 (en) Method for collecting data
EP4003823B1 (en) Method for initializing a motor vehicle
WO2023247548A1 (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
DE102021203587A1 (en) Method and device for training a style encoder of a neural network and method for generating a driving style representation that maps a driving style of a driver
DE10059475A1 (en) Information processing device and storage device attached to a vehicle
WO2023247588A1 (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
WO2020216621A1 (en) Training trainable modules with learning data, the labels of which are subject to noise
DE202019101831U1 (en) System for developing control programs for robotic manipulators
EP3596428A1 (en) Method and device for updating a digital map for vehicle navigation
DE102020209987A1 (en) Device and method for processing environmental sensor data
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
DE102021111724B4 (en) Method and computer program for evaluating a software version of a driver assistance system
DE102022207286B3 (en) Device and computer-implemented method for providing a trained machine learning agent designed to control a device, device and method for controlling a device and vehicle
WO2024132949A1 (en) Method and system for the criteria-based extraction of image data
DE202021004237U1 (en) Computer-readable storage medium and computing device for evaluating a software version of a driver assistance system
DE102020215286A1 (en) Method for providing program data from a database
DE102016201329A1 (en) Method and device for locating a head of a driver in a vehicle and head localization system
DE102016202921A1 (en) Method for transmitting data between a main unit for processing vehicle data of a vehicle and a mobile terminal and method for providing filter information for filtering vehicle data that can be called up via a main unit of a vehicle
WO2021069146A1 (en) Method for providing a neural network for directly validating an environment map in a vehicle by means of sensor data
DE102022110843A1 (en) Method and device for configuring a module for simulating at least one sensor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23735249

Country of ref document: EP

Kind code of ref document: A1