CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a national stage filing of International Patent Application No. PCT/EP2018/051430, filed on Jan. 22, 2018, which claims priority to European Patent Application No. 17152600.7, filed on Jan. 23, 2017, the contents of which are incorporated herein by reference in their entireties and for all purposes.

FIELD OF THE INVENTION

The invention generally relates to a method for testing at least one control device function of at least one control device of at least one first vehicle by means of a simulator.

BACKGROUND OF THE INVENTION

The field of control device development, the development of control device functionalities and the testing thereof includes the computer assisted and model based development of control device functionalities, ranging as far as the implementation of the control device functionalities on the series control devices which are ultimately used, and has been known for many years. One established procedure is referred to as the V model. Here, control device functionalities are initially developed in a simulation environment which does not have any similarity with the hardware of the control device which is used later, and which is completely decoupled from the actual physical process, for example a vehicle. The resulting functionalities can be implemented on a powerful development control device and tested in the real process. Finally, the control device functionality is transferred to the target hardware which will be ultimately used, that is to say the series control device, the hardware of which is matched—also with respect to cost criteria—and optimized to the technical process to be influenced.

The testing of control devices may also take place within the scope of what is referred to as hardware in the loop simulation (HIL simulation) in conjunction with high performance simulators which simulate the surroundings of the control device to be tested and of the control device functionality implemented in the control device, by using mathematical models. If the control device which is to be tested is actually present in a real form, such simulators are also able to output the simulated environmental data to the control device via corresponding I/O interfaces. Conversely, signals which are output by the control device can also be received via corresponding I/O interfaces and supplied to the model which is calculated in the simulator.

It is of great interest to test the control device functionality as early as possible with the control device software which is actually used. For this purpose, the procedure has in the meantime been adopted of also using a mathematical model to model and simulate the series-control device, that is to say the control device hardware or at least the software which is close to the hardware. Such a control device can be simulated at varying levels physical detail. Since it is not present in a real form, the term virtual control device (VECU=Virtual Electronic Control device) is frequently used here.

It is noted that the simulator, via the HIL-simulation, simulates sensor outputs for a simulated environment within which the control device functionality of the control device is to be tested. As such, the simulator simulates signals of a sort understood by the control device. If, for example, the control device is an engine control device, such signals are typically ones which correspond to engine control. As examples, such signals can include ones relating to crankshaft/connecting rod rotational angle, valve position, cylinder head temperature, and accelerator pedal position, to name just a few. Thus, in essence, the simulator generates sensor data of the kind which would typically be provided by sensors which capture internal vehicle conditions.

A comparatively new technology is concerned with the use of environmental sensors in a vehicle, that is to say sensors which do not actually sense internal state variables of the vehicle but instead sense the surroundings of a vehicle and generate corresponding sensor data. A non-exclusive list of examples of such environmental sensors can include (i) radar sensors which supply distance information with high accuracy, (ii) optical sensors including cameras, the sensor data from which can be used to analyze the captured traffic situation (thereby making available available, for example, information about the road signs in the surroundings), and (iii) antennas having evaluation electronics which sense and evaluate the information output by surrounding vehicles, with respect to the position and movement of these vehicles. This list is illustrative only, as the variety of environmental sensors which can be used is as broad as the types, amounts and characteristics of the information which the surroundings of one or more vehicles may be expected to manifest.

The use of environmental sensors frequently plays a role within the scope of driver assistance systems (ADAS=Advanced Driver Assistance Systems) or autonomous vehicle control systems (HAD=Highly Automated Driving). It is readily apparent that environmental sensors frequently have to acquire and process an immense quantity of data. The simulation of entire surroundings of a control device which is installed in a vehicle and is supplied with sensor data from environmental sensors is also correspondingly demanding. In this context, the control device does not necessarily have to be supplied with sensor data from environmental sensors of the vehicle in question (referred to as the first vehicle at the beginning), though can be that the control device is supplied with the sensor data from environmental sensors of further vehicles, which data is received, for example, via the previously addressed antenna of the first vehicle.

BRIEF SUMMARY OF THE INVENTION

The invention relates to a method for testing at least one control device function of at least one control device of at least one first vehicle by means of a simulator having a plurality of computing units, wherein the first vehicle has at least one environmental sensor, wherein a multiplicity of environmental sensors of the first vehicle and/or of at least one further vehicle supply the at least one control device and/or further control devices with sensor data of the environmental sensors, the at least one control device function processes at least some of the sensor data as input variables, and the first vehicle and, if present, the further vehicles are located in surroundings which represent a traffic situation, wherein the first vehicle is simulated by means of a first vehicle model, and, if present, the further vehicles are simulated by means of further vehicle models, the environmental sensors are simulated by means of sensor models, and the surroundings are simulated by means of an environmental model with the computing units of the simulator, wherein the models are distributed alone or in groups between at least two computing units, each with a directly accessible memory, wherein the environmental model comprises static environmental data and dynamic environmental data, wherein the sensor models have, as input variables, the static environmental data and/or dynamic environmental data. Furthermore, the invention relates to a simulator for carrying out the method according to the invention.

The location and number of the environmental sensors, and how many control devices and control device functions they supply, can vary. For example, a plurality of environmental sensors can be installed in one vehicle, but also in each case one environmental sensor can also be installed in at least two different vehicles. The respective two environmental sensors can supply different control devices, or they can also supply only a single control device.

The use of environmental sensors which sense the surroundings of the vehicle in which they are installed (here the term “surroundings” is therefore also used in its everyday meaning and not only signal-referenced meaning), makes it necessary during a simulation to model mathematically all the components involved. Therefore, the first vehicle is modeled and simulated mathematically by means of a first vehicle model. Furthermore, further vehicles which are present can be mapped mathematically by means of further vehicle models, wherein the depth of the modeling of the vehicle models can vary. The environmental sensors of the first vehicle and/or of the further vehicles are described by means of mathematical sensor models and in this way made accessible to a simulation. Likewise, the surroundings in which the vehicles move and which therefore usually represent a traffic situation are mapped mathematically with an environmental model. All the mathematical models are then simulated with the computing units of the simulator, with chronological matching to one another. Owing to the size and complexity of the mathematical models and their requirement—at any rate in the case of classic HIL tests—to be able to calculate the mathematical models in real time, simulators with a plurality of computing units are frequently used for the simulation. The computing units are usually each stand-alone processor boards with a separate memory. The computing units can exchange information with one another via an external data bus and have to also exchange information within the scope of the simulation, since the various models are, of course, not independent of one another. A plurality of stand-alone computers with their own computing units and with a memory which can be accessed directly there by the respective computing units are also conceivable, wherein the computers are coupled to one another for the exchange of data. A processor with a plurality of computing cores is also equally possible, wherein each computer core is considered to be a computing unit. Of course the position of the vehicle is of interest for the calculation of the vehicle model, and the associated traffic situation which results from the environmental model. Likewise, the calculation of the sensor models is dependent on the position of the vehicle in the surroundings as well as also on dynamic properties of the vehicle movement which follows from the calculation of the vehicle model.

The environmental model of course comprises static and dynamic environmental data. The static environmental data includes all the objects in the surroundings which do not vary over time (routing of the road, buildings, signage, but also statistical dimensions of road users). The dynamic environmental data then includes the movement data of other vehicles or, for example, of pedestrians. The environmental model also permits, for example, the calculation of the position data of road users on the basis of the environmental data. The decisive part of the environmental data is the statistical environmental data.

Methods are known with which surrounding simulations can be carried out for testing the control device (dSPACE GmbH: “ASM Traffic, dSPACE Automotive Simulation Models (ASM)”, product brochure 2016). Surroundings, i.e. a traffic situation, are produced here by a user by the selection of objects (road elements, road signs, road users etc. . . . ) and are combined to form overall surroundings. The selection during the combination of the surroundings gives rise to a description of the surroundings in a raw format of the environmental data. This facilitates the production a single uniform model for complex surroundings.

Furthermore, it is also possible to import a description of surroundings, for example a description in the so called OpenDRIVE format. This format would also constitute a raw format according to the present disclosure. Typically, for simulation purposes the data which is present in a raw format has to be converted into a data structure format. Under certain circumstances, in the case of imported data a further conversion of the data would also be performed, specifically the conversion of the imported (raw) data from the OpenDRIVE format into raw data or objects of the environmental modeling tool.

An aspect of the present disclosure is to further develop the method specified above for testing the control device function of a control device in such a way that the simulator hardware which is employed is used as advantageously as possible, or to make available a simulator which is configured to carry out the method according to the present disclosure.

This aspect is, in part, firstly achieved with the method described above by virtue of the sensor models being distributed between at least two computing units, each with their directly accessible memories, that there is identification of those computing units which have sensor models which have static environmental data as input variables, that the static environmental data is stored in the directly accessible memories of the identified computing units, that, after the storage of the static environmental data has been completed, the simulation of the models on the computing units with their respectively directly accessible memories is started synchronously, and that the sensor models which have the static environmental data as input variables use the static environmental data of that identified computing unit which has its directly accessible memory models on which the respective sensor models are themselves located.

The noted identification of the computing units can include detecting or determining those computing units on which sensor models having static data as input variables are executed. There are various procedures for this. Usually, a system description is provided for a system with a plurality of computing units. For example, the corresponding information as to which computing units which sensor models are to be calculated on can be obtained from this description. Another possible procedure would be to interrogate predefinitions in the models stored by the user.

The method according to the present disclosure is advantageous in many respects. The distribution of the sensor models between at least two computing units initially causes the computing load for the individual computing units to drop, at any rate measured for the case in which all the sensor models are calculated on a single computing unit. The measure according to which the static environmental data is stored on all those computing units, and their directly accessible memories, whose sensor models operate with static environmental data as input variables gives rise to an essential reduction in the exchange of data since the static environmental data is already located at the locations at which it is needed for calculation. As a result, the scope of data to be exchanged between various computing units is quite considerably reduced. Under certain circumstances, dynamic environmental data still then has to be exchanged between the computing units, but this involves only comparatively very small amounts of data compared to the static environmental data. The fact that the sensor models which have static environmental data as input variables operate with the static environmental data which is located on the computing unit or its directly accessible memory at which the sensor models are also themselves located has the overall effect that during the simulation there is no need to transmit static environmental data between the computing units of the simulator.

According to one preferred refinement of the method, there is provision that before the start of the simulation the static environmental data is transformed from a raw format into a data structure format. Raw format of the static environmental data is a data description of the static surroundings which is not adapted to the simulation surroundings of the simulator (software) or to the equipment level of the simulator and its computing units (hardware). It can simply comprise, for example, a long vector of double values. The conversion of this raw data into a data structure format which is understood by the simulation surroundings of the simulator is relatively complicated and time-consuming. The development of the method can speed up the simulation by virtue of the fact that the transformation of the static environmental data from the raw format into the data structure format takes place beforehand and is no longer a part of the simulation, for example no longer part of the environmental model. This provides a further advantage; conventionally, sensor models which utilized large quantities of static environmental data were executed on the same processor cores as the environmental model. This is because, according to conventional approaches, such sensor models exchanged with the environmental models quantities of data which were so great as to exceed interprocessor data exchange capacities within the scope of a multiprocessor simulation. However, according to the approaches discussed herein, such sensor models now exchange with environmental models quantities of data which no longer exceed such interprocessor data exchange capacities. Therefore, such sensor models can now be calculated on different processor cores than the environmental model. Accordingly, there can be a more flexible distribution of the sensor models between the processors of the simulator, irrespective of the positioning of the environmental model.

Two examples of information in a data structure format are specified below. The first example shows the description of a road sign:

struct traffic_sign /* traffic signs and traffic lights */{int_T sign_type; /* type of sign: 1=light, 2=priority, 3=speed,4=overtake, ... */int_T sign_value; /* specification of sign or signal */int_T sign_id; /* unique sign identifier */int_T sign_cond; /* condition of traffic sign (visibility, dirt,aging) 0..100 */};

The second example relates to a data structure which describes the contours of a road user:

struct box_dimension /* dimension of bounding box */{real_T center_x; /* position vector (main point to center point)x-coordinate */real_T center_y; /* ″ y */real_T center_z; /* ″ z */real_T length_x; /* length of box in x direction */real_T length_y; /* ″ y */real_T length_z; /* ″ z */};

One advantageous further development of the preliminary transformation of the static environmental data consists in the fact that before storage in the directly accessible memory of the identified computer units, the static environmental data is transformed from a raw format into a data structure format on a host computer. This additionally relives the loading on the simulator.

According to an alternative refinement of the method there is provision that, after storage in the directly accessible memory of an identified computing unit or in the directly accessible memories of a plurality of identified computing units, the static environmental data is transformed from a raw format into a data structure format by the respective computing unit, for example by virtue of the fact that a corresponding transformation function is made available at the respective computing unit. The advantage of this procedure is that during the conversion the correct data formats are generated virtually automatically, that is to say, for example, double values which satisfy the requirements of the respective computing unit used as the basis are generated with the correct length.

Apart from the treatment of the static environmental data or the execution of the transformation of the static environmental data from a raw format into a data structure format, the method according to the present disclosure can also be optimized with respect to the distribution of the various models between the various computing units.

Therefore, according to one preferred exemplary embodiment there is provision that the sensor models are distributed between the fewest possible computing units of the simulator. As a result, the data transfer which is brought about by the exchange of environmental data is minimized. This procedure is advantageous because it can be assumed that the calculation of the sensor models is particularly costly solely because of the large amounts of data which are to be processed for this purpose, with the result that good load distribution is achieved automatically. It is additionally conceivable that the model part of the environmental model for the calculation of the dynamic data is also calculated on these computing units, with the result that the data transfer is minimized further. As a result of the concentration of the sensor models on the fewest possible computing units, identical data items have to be kept ready on only a few effected computing units, as a result of which a solution with little storage requirement is achieved.

An alternative further development of the method provides that a vehicle model and the sensor models which are associated with the vehicle model are stored on a computing unit and the directly accessible memory thereof, wherein there each vehicle model is preferably stored with its associated sensor models on a dedicated separate computing unit and is also calculated there with the scope of the simulation. As a result of this refinement, a logic assignment of sensor models to vehicle models is ensured and the communication between the computing units is reduced. In addition, in this way the number of necessary computing units is also reduced, since as a result an entire vehicle is calculated with the environmental sensors which can be assigned to it on one common computing unit. A further advantage is that the exchange of vehicle models is considerably simplified on the simulator, since only one computing unit is affected by such an exchange. In addition, the modeling is also given greater clarity.

According to a further refinement of the method there is provision that the control device function which is to be tested is implemented on a real control device, and the real control device is connected to the simulator via its control device I/O interface to a corresponding simulator I/O interface, and the simulated sensor data of the environmental sensors is transmitted to the real control device. As a result, the physically present control device and the control device function which is implemented thereon are tested in the form of a classic HIL simulation. In this case, it is desired that the various models are calculated on the simulator in real time, since the real control device is, of course, also operated in real time.

According to one alternative procedure, the control device function which is to be tested is implemented on a virtual control device, wherein the virtual control device receives the simulated sensor data of the environmental sensors via its virtual control device I/O interface within the scope of the simulation. The disclosed distribution of the sensor models between various computing units and the resulting increase in the simulation speed permit simulations to be carried out in compressed time here. It is therefore then possible, for example, to run through a large number of kilometers traveled which have to be simulated in a very short time period; for example a million kilometers could be processed in only 72 hours. The simulator can be implemented here with a PC or a cluster of PCs.

Furthermore, the distribution of the various models between the computing units of the simulator can be optimized by virtue of the fact that the first vehicle model and, if present, the further vehicle models, the sensor models and the environmental model are distributed, according to a first configuration, across the computing units and their directly accessible memories. This distribution can take place automatically, in a random fashion or according to specific distribution rules, but it could also be performed by the user. There is then also provision, that during a first simulation of the models between the computing units the utilization rate of the computing units is determined, and that on the basis of the determined utilization rates of the computing units the models are automatically redistributed to a further configuration, so that there is a resulting more uniform utilization rate of the computing units during the simulation of the models.

The task derived above is also achieved by a simulator which is configured to carry out the method according to the present disclosure.

