Keywords

1 Introduction

The development of autonomous driving features considerably boomed over the past years, leading to their deployment in commercially available vehicle. Yet, many challenges sustain which rely on innovative solutions to be solved (see [1]). When dealing with such complex problems, it is advantageous to work with an agile mindset as frequent testing to rapidly apprehend the current level of performance is considered a smart strategy.

This drives the need to design prototype vehicles to validate solutions in real driving situations. As many vehicle software are developed by non-car manufacturers, it is a common approach to use commercially available vehicles that are then upgraded as needed. These users usually assume that a car can be controlled at high level such as via the acceleration (see e.g. [2]). Since this is not a standard interface, low level controllers have to be designed. This paper focuses on the longitudinal dynamic and considers the problem of tracking an acceleration using throttle and brake pedals.

A proficient control strategy consists in using an inverse model obtained from a mechanical description of the vehicle (see e.g. [5]). If this has proven to work well (see e.g. [3] or [4]), it however requires too deep vehicle knowledge and too many measurements in order to be efficiently deployed on a large scale. A generic solution thus needs to consider a black box approach to the nature of the vehicle, from an end user perspective.

In this paper, we consider a data driven inverse model design taking a driver viewpoint. Data from non-tailored driving sessions are used. To compensate for the expected uncertainties and significant noise levels, the model output is selected as a Laplace distribution. This brings robustness in the estimation process, quite similarly as when a least absolute deviation criteria is used to fit a model. Vehicle types variability is handled by using neural networks because they offer strong descriptive power.

The paper is organized as follows. In Sect. 2, we describe how to model the vehicle behavior taking a driver perspective. In Sect. 3, we present the chosen model structure. In Sect. 4 we provide some pointers to solve the challenges related to the specifics of our data collection process. In Sect. 5, results using real vehicle data are presented. Finally, the paper is concluded in Sect. 6.

2 A Driver Perspective on the Longitudinal Dynamic

Our objective is to model an inverse map, from vehicle acceleration to actuators, to design a low level controller used to track a desired acceleration. It is known that using mechanical descriptions to model the dynamics of a vehicle (see e.g. [5]) is costly. For instance, the innumerable parameters can only be obtained through complex experiments, or the acquisition of data is hardly accessible or data inaccurate. This is in contrast to the relative ease with which people can drive. Consequently, we focus on a driver’s point of view.

There is a vast literature dealing with driver modeling (see e.g. [6]). They describe how drivers adjust acceleration to cruise or to follow a leading vehicle, and how brake and throttle pedals positions are modified accordingly to vehicle gear or speed. This means that the inverse vehicle model is a mapping from vehicle speed, engaged gear and target acceleration to brake and throttle pedals positions. The advantage of this driver oriented approach is that only a few signals are needed, namely vehicle odometry (e.g. acceleration and speed coming from an IMU) and some CAN information (gear number and pedals positions).

3 Model Selection

As most drivers consider the vehicle as an unknown system which reacts to some inputs, we consider a black box model. Instead of relying on tailored experiments, we simply include any driving sessions data as long as they cover the expected operating domain. We can thus rely on easy access to a significant amount of data. The inconvenience though is that we shall also expect significant noise levels. By interpreting external factors as having stochastic effects, the output is chosen to be a probability distribution. This approach only works well if external factors have a non deterministic effect during the data collection phase.

We assume that this distribution is both monomodal and symmetrical. Indeed, disturbances can reasonably be approximated by such distributions (e.g. average road is flat and whenever going uphill we can go downhill as well). To reduce numerical complexity, it is worth working with distributions represented by a small numbers of parameters like the Gaussian distribution. However, in our case, the latter is not fit for purpose as the external factors can induce significant noise which could bias our variance estimate. We thus need a heavier tail distribution, which can be obtained through a Laplace distribution. The inverse map hence generates the probability p

$$\begin{aligned} p(U|X,Y,\theta ) = \frac{1}{2b(X,Y,\theta )}e^{-\frac{|U-\mu (X,Y,\theta )|}{b(X,Y,\theta )}} \end{aligned}$$
(1)

where \(\theta \) are parameters to be defined, X is the input vector (speed and gear), Y is the target acceleration and U is a signal which can be mapped unambiguously to a brake and throttle position. The Laplace distribution is fully described by \(\mu \) and b. Basically, \(\mu \) embeds the vehicle dynamic that is reflected through data while b monitors how much it can be trusted. They can take various shapes depending on the actual vehicle and data set. This is why a generic function structure is needed. We thus select neural networks.

Assuming that the actuator response time is fast and/or the requests are varying slowly, actuators internal dynamic can be neglected. This means that an internal memory is not required. We select a direct feedforward architecture (see e.g. [7]). As its numerical evaluation is simple, it has the additional benefits of enabling real time operation on a wide range of ECU. To determine a pedal position, we build the probability density function (1). We then use it to select an appropriate value according to a meaningful criteria such as the mode, or any other criteria including risk management (see e.g. [8]).

4 Estimating the Distribution Parameter

Firstly, we need to consider the data causality issue. Indeed, when estimating network weights, we need to apprehend the relationship between pedal displacement and the corresponding observed acceleration. This is challenging as actuators can exhibit very dissimilar responses. Therefore, we model lag basically through constant delays. Signal distortion is taken into account through a DDTW algorithm (see e.g. [9]). The median index mapping variation is used as an estimate of our delays. The delay estimation strategy is based on the fact that the mapping from pedal to acceleration should define a monotone operator, i.e. if we push harder on a pedal we shall see more effect on the acceleration. Delay variations are assumed to be small and are included as the source of additional noises. The variations around the value of the delay are monitored to ensure that our assumption is viable.

Once delays are estimated, we can synchronize speed, gear and acceleration with pedal positions. To find the set of parameters which best explains the observed data, we use a log likelihood criteria. To ensure well-posedness of the problem, a Lasso regularization is chosen. Since pedal positions are assumed to follow a Laplace distribution (1), \(\theta \) is given as the solution of the following minimization problem

$$\begin{aligned} \theta = \text {argmin} _{w} \varSigma _i \left( \text {log}( 2b(X_i,Y_i, w))+\frac{|U_i-\mu (X_i,Y_i,w )|}{b(X_i,Y_i,w )}\right) + \lambda |w|. \end{aligned}$$
(2)

where \(\lambda \) is a regularization parameter which is selected to achieve the best compromise between model smoothness and data explanation. Using a Laplace distribution means that the model is trained via a (modified) least absolute deviation problem. This implies a reduced sensitivity to disturbances and external factors.

To solve (2) we use an ADAM solver (see e.g. [10]) which is based on stochastic gradients (see e.g. [11]). It estimates true gradient using a subset of randomly drawn samples. It is commonly assumed that all samples are equally important using uniform sampling. In our case, this is an issue as data are collected in inverse proportion to their safety relevance. Indeed, we are more likely to collect a soft braking than a heavy braking data point. There is thus a risk that those safety cases will not be properly captured, implying that the model will be biased. To circumvent this issue, we propose to use stratified sampling (see [12]). Since we consider a low dimensional input vector, we suggest to stratify through a full gridding of the input space. We also use a drop out strategy (see [13]) to avoid learning specifics related to external disturbances.

5 Results

The approach is illustrated on data collected from a petrol engine vehicle. First, we estimated the delays to correct the causality issue. Its distribution over the record as well as the synchronized normalized signals are depicted in Fig. 1.

Fig. 1.
figure 1

Instantaneous delay estimation using DDTW

Then, by using (2), we estimated the networks weights. The mode results (i.e. \(\mu \) in (1)) can be seen in Fig. 2. The brake and throttle positions are coded with negative and positive percentage values respectively.

Fig. 2.
figure 2

Mode petrol engine, black cross: synchronized data set.

The mapping has been used in a low level controller, which includes a feedback, to control the vehicle on a rural road, see Fig. 3. The tracking accuracy is satisfying with the inverse model (feedforward) being the main contributor. The feedback is mainly active to compensate for external factors such as pitch.

Fig. 3.
figure 3

Inverse map validation, vehicle control on a rural road.

6 Conclusions

This paper tackles the problem of building and deploying an inverse vehicle model from acceleration to actuator by non expert through a driver oriented approach. The vehicle is described by a black box model based on a small set of easily available signals. Data are collected in a non-tailored way, which implies cheap access to a significant amount of data. To compensate for expected significant noise level, the model output is probabilistic. The density function was selected as a Laplace distribution as it leads to more robust estimates. Assuming that users cannot provide a priori knowledge, model structure was chosen to be a neural network. It provides a huge descriptive power, though at the cost of challenges when estimating its weights where algorithms are usually based on uniform sampling of data. To remove potential bias related to the density of corner cases, we suggest to use a stratified sampling. This model was estimated from a petrol engine vehicle, showing its ease of deployment and its performances. Future works will consist in introducing a reinforcement learning framework in order to keep improving this map online. The probabilistic map being handy as it provides a natural way to explore alternatives.