Patent Description:
A known method for recording data for algorithm development and validation purposes for ADAS uses a single vehicle or a fleet of vehicles outfitted with the desired sensor hardware including typically radars, lidars and cameras. The drivers of the vehicles then drive around locations to provide valuable and useful data for development and validation purposes. While each vehicle drives, the sensor data is logged using an automotive data recording device onto a hard drive equipped in the vehicle, as disclosed for example in <CIT>. After recording, the hard-drives of the recording vehicles are brought back to a collection site for further distribution and storage of the data.

There are many drawbacks to the above known method of collecting data from vehicles. One of the drawbacks is that the drivers usually drive randomly around, or make their own judgment on where to drive for recording interesting data. Consequently, the value of the recording data is uncertain and may not be as useful as hoped. It is also needed to select part of the recording data after recording and a lot of uninteresting recording data may be discarded.

Therefore, there is a need to increase the amount of data of high value that is recorded along a route.

<CIT> discloses an online agent using reinforcement learning to plan an open space trajectory for autonomous vehicles.

<CIT> discloses a method of optimizing rider satisfaction using neural networks.

<CIT> discloses a method for autonomous and semi-autonomous vehicle routing, in which roadway suitability for autonomous operation is scored to facilitate use in route determination.

The present disclosure concerns a computer-implemented method, carried out by a vehicle data recording device in a vehicle, including the following steps:.

The present method allows a vehicle that has received a recording target to drive and record data along a route that is expected to optimize the rewards for successfully uploading the recording data to the host data collecting system, instead of driving randomly. The rewards are generated by the host collecting system, taking into account the recording target.

In an embodiment, the step of generating a route encoding for each route includes the steps of:.

In an embodiment, the step of generating a feature vector for each route segment includes a step of encoding into numerical values past information on what happened just before the current time t<NUM> to form another component of the feature vector.

The method can further include, for each route segment, a step of inputting the corresponding feature vector into a machine learning system of value prediction for the plurality of metrics and providing, at the output of the machine learning system, a metric value prediction vector including predicted values of said route segment for the plurality of metrics.

The metric value prediction vector of each route segment can further include an uncertainty information.

In an embodiment, the metric value prediction vectors of the segments of each route being grouped into a high-dimensional route encoding, the high-dimensional route encodings of the plurality of routes are translated into fixed-length route encodings of lower dimension and the route encodings of fixed-length are provided as inputs to the reinforcement learning agent.

A selector can pre-select a short list of the most promising route encodings and only the short list of route encodings can be provided as input to the reinforcement learning agent.

In an embodiment, the method further includes, in a preliminary step: obtaining historical data related to a plurality of recordings performed when driving along given past routes;.

The plurality of routes can be determined by using a tree expansion algorithm.

The present disclosure also concerns a vehicle data recording device, including.

The present disclosure also concerns a computer program including instructions which, when the program is executed by a computer, cause the computer to execute the steps of the method previously defined.

The present disclosure further concerns a computer-readable medium having stored there on the above defined computer program.

The present disclosure concerns a computer-implemented method, carried out by an in-vehicle data recording device <NUM> in a recording vehicle <NUM>, for recording data while the vehicle <NUM> drives along a selected route and uploading at least part of the recording data to a host data collecting system <NUM>. As will be explained later in more detail, the route along which the data is recorded is selected among a plurality of routes in order to optimize rewards from the host data collecting system <NUM> after and/or during uploading recording data.

<FIG> shows a distributed system for collecting data from a fleet or a plurality of recording vehicles <NUM> by the host data collecting system <NUM>.

In an embodiment, the recording vehicles <NUM> can communicate with the host data collecting system <NUM> over-the-air, for example through a mobile communication network <NUM> such as a <NUM> network.

The data from each recording vehicle <NUM> can include different types of data such as raw data, derived data and/or external data. The data collected from the vehicle <NUM> is recorded over time, typically while the vehicle is driving along a route.

The raw data (also called elementary data or source data) is data that has not been processed. The raw data includes in a non-limitative manner sensor data from sensors mounted in the vehicle <NUM> (such as radars, lidars and cameras), GPS data, speed data, yaw rate data, etc..

The derived data include data derived from raw data by data processing. The data processing can be carried out by hardware means and/or software means in the vehicle <NUM>, that execute processing operations and/or algorithms (for example machine learning algorithms or any other type of algorithms). Some in-vehicle hardware and software components can perform an object detection based on radar, lidar or camera data (with or without sensor fusion), a semantic segmentation on camera data, an encoding of signatures describing various aspects of an environmental information (in the environment of the vehicle), a computation of data structures and/or statistical information derived from an object detection module or another algorithmic output.

The external data include data from sources external to the vehicle <NUM>. Such external data can be acquired via API (for Application Programming Interface) calls to third party data providers via the mobile communication network <NUM>. Non-limitative examples for such external data include traffic data (e.g., traffic flow, construction areas, etc.), weather service data, time related data (e.g., national holiday, weekday, week-end day, etc.), map services data (e.g., road layout information, satellite images, mobile network coverage, etc.), current transmission rate through the mobile communication network <NUM>, data from environmental sources (e.g., shops, schools, bus stations, parks, etc.), data from routing services, data from the host data collecting system <NUM>.

The host data collecting system <NUM> is responsible for providing a recording (collection) target T<NUM>, downloading (transmitting) it to the fleet of recording vehicles <NUM> and, in return, collecting recording data collected by each vehicle <NUM> of the fleet. The host data collecting system <NUM> is also responsible for transmitting a reward information each vehicle <NUM> after and/or while said vehicle <NUM> uploads recording data to the host data collecting system <NUM>.

A recording target T<NUM> defines one or more elementary or atomic recording (collection) targets ck, with k=<NUM>,. , m, and includes one or more metrics vck, also called data value metrics, in relation to the elementary recording targets ck. In the present disclosure, a metric vck is a function assigning a data value (in other words: a number) to a piece of data corresponding to a given point in time i, or to a given time slot, said data value representing an amount of progress in achieving the corresponding elementary recording target ck. In other words, each metric vck allows to measure a progress towards an elementary recording target ck. An elementary recording target ck can be a quantified target defined by a given target amount or number. Illustrative and non-limitative examples of elementary recording targets are given below:.

Optionally, the elementary recording targets ck could be constrained somehow in order to diversify the data collection. For example, a constraint can be to perform the data collection across multiple regions (countries, cities,. Another constraint can be to limit data collection along roads already recorded in the past.

The elementary recording targets ck can be in the form of code to be executed by a computer or a processor.

The recording target T<NUM> can include m+<NUM> metrics vck related to m+<NUM> different elementary recording targets ck (forming a set C of elementary recording targets ck: C = {c<NUM>,. , cm}), with m≥<NUM> and the metric index j ranging from <NUM> to m. In that case, the recording target T<NUM> can further include a collection policy P that defines how to weight the different elementary recording targets ck in the recording target T<NUM>. A collection policy P defines a way to merge multiple elementary measures or metrics. In an embodiment, the collection policy P attributes respective weights pck to be applied to the different metrics vck. In other words, the collection policy P defines m+<NUM> respective weights pck for the m+<NUM> metrics vck related to m+<NUM> elementary recording targets cj, with <NUM> ≤ j ≤ m. The collection policy can be expressed as follows: P = {pc<NUM>,. The set of weights {pc<NUM>,. , pcm} is preferably such that <MAT>.

As previously explained, each metric vck is a function that assigns a data value to a recording data point for time i (in other word: to a piece of data for a given point i in time) in a recording R. A recording R is a data collection captured by a recording vehicle <NUM>, for example on a given route or during a given period of time, and contains raw data provided by sensors in the recording vehicle <NUM> and/or data from other data sources in the recording vehicle <NUM> (including derived data and/or external data).

In addition, a value V(RC) of a recording PC of data aggregated over all time points {t<NUM>,. , tn} and elementary recording targets {c<NUM>,. , cm}, according to the collection policy P, also termed as "recording value", can be expressed as follows: <MAT>.

In an embodiment, the metrics vck produce values in a normalized range (i.e., [<NUM>,. In that case, the data value assigned to a recording data point in time i is included between <NUM> and <NUM> (including the extremity values <NUM> and <NUM>).

In a first illustrative example, the elementary recording target is a number of overtaking maneuvers and the value metric attributes the value <NUM> when an overtaking maneuver is happening and a value <NUM> when no overtaking maneuver is happening. In a second illustrative example, the elementary recording target is a number of bikes, and the value metric gives a value representing a number of bikes in a scene. The value is normalized between <NUM> and <NUM> by a mapping function, for example based on a maximal number of bikes for example, or alternatively based on an average number. The normalization facilitates the combination or aggregation of the data values computed by the different value metrics, as explained later.

The collection policy P is used to aggregate the m+<NUM> sets of data values over time respectively produced by the m+<NUM> metrics vck in a recording R. It allows to produce a set of aggregated data values over time for the recording R.

With reference to <FIG>, each recording vehicle <NUM> has a plurality of sources of data (raw data, derived data and/or external data) <NUM>, a radio transmitter-receiver <NUM>, a central processing unit <NUM> and a data recording device <NUM>.

The sources of data <NUM> include hardware components and software components that provide raw data and/or derived data, and optionally external data. The data sources <NUM> can be of different types such as:.

The radio transmitter-receiver <NUM> is responsible for transmitting and receiving radio signals (including information and/or messages and/or data) through the mobile communication network <NUM>.

All the elements <NUM>, <NUM>, <NUM> of the recording vehicle <NUM> are connected to the central processing unit <NUM> that controls their operation.

The in-vehicle data recording device <NUM> is responsible for:.

The in-vehicle data recording device <NUM> has hardware means and software means (in other words: hardware components and software components) to implement the method, described later, of recording data from the recording vehicle <NUM> and uploading at least part of the recording data to the host data collecting system <NUM> over-the-air.

In an embodiment, the communication between the data recording device <NUM> and the host data collecting system <NUM> is performed via the in-vehicle radio transmitter-receiver <NUM>. Alternatively, the data recording device <NUM> could include a radio transmitter-receiver to communicate directly with the host data collecting system <NUM>.

As shown in <FIG>, in an embodiment, the in-vehicle data recording device <NUM> has an input/output interface <NUM> to interface with the vehicle <NUM>, a storing module <NUM>, a route planning module <NUM>, a data recorder <NUM>, a recording data uploader <NUM> and a central processing unit (CPU) <NUM>.

The input/output interface <NUM> interfaces with the vehicle <NUM>. It allows to receive data from in-vehicle data sources <NUM>, messages from the host data collecting system <NUM> received via the transmitter-receiver <NUM> of the vehicle <NUM>, and to transmit data to upload to the host data collecting system <NUM> via the transmitter-receiver of the vehicle <NUM>, as will be explained later.

The storing module <NUM> stores the recording data collected from the vehicle <NUM> before uploading at least part of said recording data to the host data collecting system <NUM>.

The route planning module <NUM> is responsible for planning a candidate route for the vehicle <NUM>, in accordance with the recording target T<NUM>, said planned candidate route(s) being expected to provide recording data of high value for the recording target T<NUM>. The route planning module <NUM> has two components: the first component is a route encoder <NUM> and the second component is a route selector <NUM>.

Optionally, the route planning module <NUM> includes a route pre-selector <NUM> that selects a short list of routes encoded by the first component <NUM>, to provide only the short list to the route selector <NUM>.

The first component (route encoder) <NUM> is responsible for computing route encodings. A route encoding is a representation of a route. It can be represented by a vector of numerical values encoding value information of the route for a plurality of metrics vck, as explained later in more detail. In an embodiment, the route encoder <NUM> includes a car navigation system <NUM>, a segmentation block <NUM>, a feature encoder <NUM>, a value estimator <NUM>, a concatenator <NUM> and a vector translator <NUM>.

The second component (route selector) <NUM> is responsible for selecting a candidate route among a list of routes associated with route encodings determined by the route encoder <NUM>, in order to optimize (in other words: maximize) rewards received for the host data collecting system <NUM> during or after an upload of recording data. In an embodiment, the route selector <NUM> can be implemented by a reinforcement learning agent to execute the task of selecting a candidate route. The route selector <NUM> can take into account an additional environment information that is independent of the routes. The term "independent" means here independent of the static route features in contrast to dynamic features like weather, etc.. The RL agent that is rewarded for uploading information may be very interested in having <NUM> band availability, to optimize its function.

The environmental factors can include the <NUM> band availability, how much gas is available in the car,. The RL agent gets some metrics, information on what is available or not available (for example: how much gas in the vehicle, mobile network bandwidth availability, etc.).

The route pre-selector <NUM> has the function of preselecting a subset (short list) of routes among all the possible routes Ri encoded by the route encoder <NUM>, that are the most promising.

In an embodiment, the route encoder <NUM>, the route pre-selector <NUM> and the route selector <NUM> include software, or program instructions, to cause the vehicle data recording device <NUM> to execute steps of the method that will now be described. The route encoder <NUM> and the route selector <NUM> run on the processor <NUM>.

The computer-implemented method for recording data by the in-vehicle data recording device <NUM> will now be described with reference to <FIG>, according to an embodiment.

In an initial step S1, the host data collecting system <NUM> provides a recording target T<NUM> for recording data by a recording vehicle. In an embodiment, the recording target T<NUM> includes m+<NUM> data value metrics vck for assigning data values to the recording data over time, so as to measure a progress in achieving m+<NUM> corresponding elementary (atomic) recording targets ck, k ranging from <NUM> to m. The set of m+<NUM> corresponding elementary recording targets {c<NUM>,. , cm} is noted C. In the present embodiment, the data value metrics vck are normalized by a mapping function that attribute values in the range [<NUM>,. Furthermore, the recording target T<NUM> includes a collection policy P attributing respective weights pck to the data value metrics vck The sum of the m+<NUM> weights pc<NUM>, pc1,. , pcm is equal to <NUM>.

In a step S2, the host data collecting system <NUM> transmits the recording target T<NUM> to each recording vehicle <NUM> of the fleet (or the plurality) of recording vehicles <NUM> over-the-air, through the mobile communication network <NUM> (not necessarily at the same time to all vehicles <NUM>). In an embodiment, the recording target T<NUM> is transmitted to each recording vehicle <NUM> upon request from the vehicle <NUM>. Alternatively, the recording target T<NUM> is pushed towards the recording vehicles <NUM>.

In a step S3, in the vehicle <NUM>, the vehicle data recording device <NUM> downloads (in other words: receives) the recording target T<NUM> from the host data collecting system <NUM> through the mobile network <NUM>. In the present embodiment, the recording target T<NUM> is received via the radio transmitter-receiver <NUM> of the vehicle <NUM> and the I/O interface <NUM> of the recording device <NUM>. The recording target T<NUM> is provided as input to the path planning module <NUM>.

Then, the vehicle data recording device <NUM> executes a task of path planning for the vehicle <NUM>. The path planning operation includes the steps S4 to S11 described below, carried out by the path planning module <NUM>. The steps S4 to S11 will be described for one vehicle <NUM>, but can be performed by each of the recording vehicles <NUM> after reception of the recording target T<NUM>.

The route encoder <NUM> first computes route encodings for a plurality of routes Ri, in the steps S4 to S9. As previously explained, a route encoding for a given route Ri encodes into numerical values an information on predicted values of said route Ri for a plurality of metrics vck.

In the step S4, at a current time t<NUM>, the car navigation system <NUM> determines a plurality of routes Ri that the vehicle <NUM> can take. In the present embodiment, the determination of the routes Ri is performed by execution of a tree expansion algorithm. The tree root can advantageously be the current location of the vehicle <NUM>. The car navigation system explores all the routes that can be taken and builds a tree of possible routes Ri for the vehicle <NUM>. Every branch of the tree represents a specific route Ri. At some point, the algorithm stops the tree expansion based on a given stop criteria (for example a distance, an estimated driving time, or any other appropriate criteria).

In an embodiment, in the step S5, the segmentation block <NUM> divides each route Ri determined in the step S4 into route segments RSij. The segment breakdown of the routes Ri is performed by following predefined semantic boundaries like crossings, environmental features, distance, time, navigation system level or a combination thereof. Such a segmentation allows to encode the features of the routes Ri on a finer level.

In the step S6, the feature encoder <NUM> generates a feature vector Vij for each route segment RSij of each route Ri. In other words, each route segment RSij is described into a feature vector Vij. The feature vector can also be regarded as a feature point in a multi-dimensional space in which each dimension corresponds to a given feature class or category for describing the route Ri. The feature vector Vij of a route segment RSij is a kind of representation (in other words: a description) in numerical values of what might be observed along the route segment RSij. In an embodiment, the step S6 includes three sub-steps S60 to S62, described below.

In the step S60, the feature encoder <NUM> encodes into numerical values past information on what happened to the recording vehicle <NUM> just before the current time t<NUM>, so as to form a first component Aij of the feature vector Vij. Indeed, at time t<NUM>, the data recording device <NUM> has already recorded past data from the vehicle <NUM> during the last few minutes and consequently knows about the past. The past information can include a summary of recording data collected by the in-vehicle data recording device <NUM> during the past period of time leading up to the current time t<NUM>. For example, the recording data can include at least part of the following information:.

The purpose of encoding past recording data collected just before the current point in time t<NUM> (or a summary of the past recording data) is to capture specific conditions and/or environmental features related to the current period of time, like information on the weather, the type of route driven by the vehicle <NUM>, the number of pedestrians in the street, or any other relevant past information recently detected up, that might influence predictions or estimations of the value estimator <NUM> about the near future for the routes Ri. The recording data collected during the past period of time leading up to time t<NUM> can be aggregated, for example by adding some values, to obtain a summary of the recording data and limit the quantity of data in the component Aij of the vector Vij. The information about the past encoded in the first component Aij of the vector Vij can be very informative for the machine learning system (value estimator) <NUM>. For example, let's consider that, at time t<NUM>, it is night and rainy and the vehicle <NUM> drives in a city, in the vicinity of shops. Usually, there are lots of pedestrians in the city near shops. But, as the machine learning module <NUM> knows from the last few minutes that it is raining and it is night, it might not expect so many pedestrians. If a metric is associated with pedestrians, the piece of information that has been encoded in the component Aij of the feature vector Vij, coming from the summary of what has happened in the last few minutes is used by the machine learning model <NUM> to better evaluate the value of the segment for the metric associated with pedestrians.

In the step S61, the feature encoder <NUM> encodes into numerical values environmental features related to the route segment RSij and relevant for the metrics vck, in order to form a second component Bij of the vector Vij. The encoded environmental features of the route segment RSij include any type of feature that might be relevant for the metrics (in other words: any type of feature that may be correlated with the metrics). For example, the environmental feature includes at least part of the environmental information previously described. It can include a type of the environment (e.g., urban, highway, countryside, other), a number of shops in the vicinity, the presence of a school in the vicinity, crossings, weather information (for example from a weather forecast service, or present weather), etc. As an illustrative example let's consider a metric that is a function that determines a number of pedestrians in the surroundings. In that case, the features like the number of shops in the vicinity, the presence of a school in the vicinity, and any other segment feature that might be correlated with the presence of pedestrians can be encoded in the second component Bij of the vector Vij.

Finally, the first component Aij and the second component Bij are concatenated to form the feature vector Vij of the route segment RSij, in a step S62.

Then, in the step S7, the feature vector Vij of each route segment RSij of every route Ri is inputted into the value estimator <NUM>. The value estimator <NUM> can include a machine learning system trained to evaluate the respective values of a route segment RSij, described by a feature vector, for a plurality of predefined metrics vck (in other words: for a given set of metrics vck). The metrics vck for which the value estimator <NUM> performs a value estimation typically include not only the metrics of the recording target but also other metrics. The value estimator <NUM> outputs for each route segment RSij a metric value prediction vector including predicted values of the route segment RSij for the plurality of predefined metrics vck. The predicted values are advantageously normalized over the segment distance to obtain data value densities.

Optionally, the value estimator <NUM> can also output an uncertainty information on the predicted values. The uncertainty information can include uncertainties of the predicted values for all metrics.

At the output of the value estimator <NUM>, the data value densities (and optionally the uncertainty information) of all the route segments RSij of each route Ri are concatenated by the concatenator <NUM> to form a high-dimensional route encoding ENCi of each route Ri, in the step S8. At this stage, the route encoding ENCi of each route Ri has a lot of dimensions because it includes, for each segment RSij of the route Ri, the predicted values for the predefined metrics vck and the corresponding uncertainties. In addition, as the routes Ri may have different numbers of route segments RSij, the sizes of the route encodings ENCi may be different from each other.

In an embodiment, in the step S9, the high-dimensional route encoding ENCi is translated (in other words: converted) by the translator <NUM> into a fixed-length route encoding ENCi' of lower dimension. The translator <NUM> breaks down the high-dimensional route encoding ENCi of each route Ri into a denser encoding ENCi', so as to form a fixed-length description of the overall route Ri in a normalized way. This allows to transform the encoding of each route Ri into an encoding that can be used by the reinforcement learning agent <NUM> for selecting a route. The length of the route encodings ENCi' corresponds to the fixed input dimensionality of the reinforcement learning agent <NUM>. In an embodiment, the encoding translation aggregates segments to form a route encoding composed of three parts: a short-term part, a mid-term part and a long-term part, that correspond respectively to three intervals of distance from the current position of the vehicle <NUM> (short, mid and long). For example, short-term can corresponds to a distance of approximately <NUM>, mid-term to a distance of approximately <NUM> and long-term to a distance of more than <NUM>, for example. However, any other distance values could be used. Any other aggregation of the route encodings ENCi could be used, in order to find a suitable representation for the reinforcement learning agent.

Optionally, in a step S10, the route pre-selector <NUM> pre-selects a subset of candidate routes. The forming of the route encodings into a normalized representation can integrate the expected rewards and the route features for short, mid and long-term scenarios. Therefore, the pre-selector <NUM> can use the normalized route encodings to pick the candidate routes. For example, the pre-selector <NUM> can just select the most valuable routes. Alternatively, the best candidate route(s) for every recording target could be selected. The uncertainty of the predicted recording values might influence the pre-selected candidates. As an illustrative and non-limitative example, only the five most promising routes Ri can be selected.

In the step S11, the fixed-length route encodings ENCi' of the routes Ri pre-selected in the step S10 (or of all the routes Ri if step S10 is not performed) and an additional environmental information, that is independent of the routes Ri, are provided as inputs to the reinforcement learning agent, or route selector <NUM>. The additional environmental information is information that is independent of the features encoded to generate the feature vectors Vij of the route segments RSij. For example, it can include an information on the <NUM> bandwidth availability as determined by the vehicle <NUM>, an information on the remaining gas in the vehicle <NUM>, an information on a remaining recording time (e.g., given by the driver), an information on a recording buffer state (i.e., remaining recording space in buffer), or any other information that is independent of (different from) the route features encoded and is relevant for selecting a route to be taken by the vehicle <NUM> to record data and upload recording data to the host data collecting system <NUM>. Then, the reinforcement learning agent <NUM> uses the fixed-length route encodings ENCi' and the additional environmental information, as inputs, to select, among the pre-selected routes Ri, the route Rs that is expected to maximize or optimize the rewards from the host data collecting system <NUM> in return to uploading recording data collected along said selected route Rs, for the recording target T<NUM> received as input. In an embodiment, the reinforcement learning agent has the option to stay on the current route. In other words, the reinforcement learning agent can chose to either stay on the current route, or switch to one of the proposed new routes.

In the step S12, the path planning module provides the selected route Rs to the vehicle <NUM> through the interface <NUM>, when the reinforcement learning agent has decided to change the current route.

Then, the vehicle <NUM> drive long the selected route Rs and the data recording device <NUM> records data along the route Rs in a step S12. As previously explained the recording data is received from the vehicle <NUM> and can include different types such as raw data, derived data and/or external data.

In a step S13, the recording data collected (recorded) in the step S12 is transmitted to the host data collecting system <NUM>. In an embodiment, only a part of the recording data is uploaded. If only bad data (of low value) is recorded, it can be decided not to upload the recording data collected.

In a step S14, the host data collecting system <NUM> receives the successfully uploaded recording data from the recording vehicle <NUM>. The host data collecting system <NUM> stores the received recording data into a storing infrastructure <NUM>.

In addition, in a step S15, the host data collecting system <NUM> generates a reward information in return to a successful upload of recording data from the vehicle <NUM> and transmits the reward information to the vehicle <NUM> (more precisely to the data recording device <NUM>). The reward information can include different types of rewards to reward different types of actions such as the continuous action of uploading recording data, the action of uploading entirely and successfully the recording, the action of recording and uploading pieces of recording data of high value for the recording target T<NUM>, etc..

The vehicle data recording device <NUM> receives the reward information (here via the transmitter-receiver <NUM> of the vehicle <NUM>) and provides it to the reinforcement learning agent <NUM> to improve the selection of routes.

In an embodiment, the rewards don't need to be given by the host data collecting system <NUM>. It would be enough to simulate the reward behaviour in the vehicle <NUM>, after successful upload.

The machine learning system <NUM> is trained in a preliminary step by using historical (past) recording data collected by recording vehicles driving along routes. In an embodiment, at first, the historical recording data related to a plurality of recordings performed in the past by one or more recording vehicles driving along different routes. Training data are generated from the historical data. For that purpose, each route driven in the past is divided into segments (as in the step S5), the feature vector of each route segment is generated (as in the step S6), and the values of each route segment for the plurality of predefined metrics vck are computed by using the historical recording data. The dataset of training data includes the feature vectors of all the route segments derived from the routes driven in the past, as input training data, and the corresponding segment aggregated average values of the metrics vck, as output training data. The dataset of training data is provided to the machine learning system <NUM> to train it to compute the computed values related to the plurality of metrics for the corresponding route segments. The machine learning system <NUM> once trained allows to estimate (predict) a recording value density for each route segment for every metric.

The machine learning system <NUM> can be an aggregated model that is in charge of computing all the metrics vck for each route segment. Alternatively, the machine learning system <NUM> includes N models to compute the respective N metrics.

Claim 1:
A computer-implemented method, carried out by a vehicle data recording device (<NUM>) in a vehicle (<NUM>), including the following steps:
downloading (S3), from a host data collecting system (<NUM>), a recording target (T<NUM>) for recording data along a route,
at a current time t<NUM>, determining (S4) a plurality of routes (Ri) that the vehicle (<NUM>) can take;
for each route (Ri), generating a route encoding (ENCi) that encodes in numerical values an information on predicted values of said route (Ri) for a plurality of metrics (vck), a metric (vck) being a function assigning a value representing an amount of progress in achieving an elementary recording target to a piece of data;
providing the route encodings (ENCi') and additional environmental information that is independent of the routes Ri to a reinforcement learning agent (<NUM>) that selects one of the routes (Ri) in order to optimize a reward;
recording data (S12) from data sources (<NUM>) in the vehicle (<NUM>) over time while the vehicle drives along the selected route (Rs);
uploading (S13) at least part of the recording data to the host data collecting system (<NUM>) and, in return, receiving a reward from the host data collecting system (<NUM>);
providing (S16) the reward to the reinforcement learning agent (<NUM>).