# Autonomous Vehicles: Vehicle Parameter Estimation Using Variational Bayes and Kinematics
## 1 Introduction
To better understand the complexity of Bayes filters, probabilistic graphical models can describe the localization approach [11; 13] as shown for example in Figure 1, in which the arrows represent the conditional (in)dependency and conditional probabilities. Note that the Bayes filter does not define the vehicle parameters, sensor technology or control input. Figure 1: Graphical probabilistic model describing the Bayes filter. Each node describes a random variable. \(x_{j}\) describes the vehicle’s state at time \(j\), \(z_{j}\) describes a measurement and \(u_{j}\) a control state. Note that due to readability, we skipped the vector arrow in the figure. The most common choice of Bayes filter implementation is the Kalman filter (KF) [14; 15]. The KF is based on linear movement and measurement models. Since this is a strong restriction for real applications, several extensions exists. Generic algorithms and non-linear KF [16; 17] were previously implemented to overcome this restriction. A methodology for federated KF in order to implement a self-adaptive navigation system was implemented in [18]. The unscented transformation was proposed in [19] for non-linear function approximation. However, in order to learn non-linear and non-parametric movement models from real data, Bayes filters based on advanced statistical models rather than linear movement models which are used in Kalman filters were implemented [8; 9]. Unfortunately, due to their high non-linearity, those models tend to become blackbox models that deliver the expected outputs without having any in-depth knowledge of the internal processes structure. Intensive experiments are needed to analyze the system behavior, which is not a trivial task [10; 20]. This work is motivated by the need for explainable machine learning solutions for safety critical systems. The importance of a fundamental understanding of any artificial intelligence based system has been highlighted in [21]. The authors argued that this can only be achieved by the identification of underlying explanatory factors. Several machine learning models such as artificial neuronal networks cannot identify causal relations in data and thus cannot fully understand the environment [20]. To identify causality more appropriate approaches exist that rely on Bayesian methodologies, as described in [10]. Approaches that are based on Bayesian methods have some similarities with Gaussian processes (GP). For example, specific families of Bayesian artificial neuronal networks with an infinite number of neurons converge to Gaussian processes [22]. Relying on this information, the study presented in this work is based on GPs due to the non-parametric nature of the model. This means that GP models are able to perform predictions without requiring user-based definitions, contrary for example to other machine learning models that base on neuronal network architectures and affect the model performance significantly. Therefore, since user-based definitions would critically limit the explanatory power of the presented methodology, parametric models such as artificial neuronal networks will not be the focus of this work. \(p(\vec{x}_{t}|\vec{x}_{t-1},\vec{u}_{t})\) and \(p(\vec{z}_{t}|\vec{x}_{t})\) were previously implemented in [8; 23; 24] using Gaussian processes [25]. Those GP-based localization approaches [8; 23; 24] tackle the problem of modelling movement and measurement models based on data and machine learning. The resulting models are called blackbox models, since they deliver the outputs without having any in-depth knowledge of the internal processes structure. In general, these GPs are based on a dataset of \(n\) examples described by \(\mathcal{D}=\{(y_{0},\vec{x}_{0}),\ldots,(y_{n},\vec{x}_{n})\}\). Prediction and subsequent integration in localization applications is achieved using data similarity, which is implemented using kernels [26]. The prediction of the vehicle movement \(y^{*}\) can be calculated using wheel movement \(\vec{x}^{*}\).