Next Article in Journal
UV Sensitivity of MOS Structures with Silicon Nanoclusters
Previous Article in Journal
A Novel Rule-Based Approach in Mapping Landslide Susceptibility
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Nonlinear Constrained Moving Horizon Estimation Applied to Vehicle Position Estimation

by
Jonathan Brembeck
Institute of System Dynamics and Control, Robotics and Mechatronics Center, German Aerospace Center (DLR), 82234 Weßling, Germany
Sensors 2019, 19(10), 2276; https://doi.org/10.3390/s19102276
Submission received: 21 March 2019 / Revised: 30 April 2019 / Accepted: 11 May 2019 / Published: 16 May 2019
(This article belongs to the Section Intelligent Sensors)

Abstract

:
The design of high–performance state estimators for future autonomous vehicles constitutes a challenging task, because of the rising complexity and demand for operational safety. In this application, a vehicle state observer with a focus on the estimation of the quantities position, yaw angle, velocity, and yaw rate, which are necessary for a path following control for an autonomous vehicle, is discussed. The synthesis of the vehicle’s observer model is a trade-off between modelling complexity and performance. To cope with the vehicle still stand situations, the framework provides an automatic event handling functionality. Moreover, by means of an efficient root search algorithm, map-based information on the current road boundaries can be determined. An extended moving horizon state estimation algorithm enables the incorporation of delayed low bandwidth Global Navigation Satellite System (GNSS) measurements—including out of sequence measurements—as well as the possibility to limit the vehicle position change through the knowledge of the road boundaries. Finally, different moving horizon observer configurations are assessed in a comprehensive case study, which are compared to a conventional extended Kalman filter. These rely on real-world experiment data from vehicle testdrive experiments, which show very promising results for the proposed approach.

1. Introduction

Many demanding mechatronic systems, like the German Aerospace Center’s (DLR’s) ROMO (short for ROboMObil—DLR’s robotic electric vehicle) [1], employ state dependent nonlinear optimization-based control (e.g., [2]), which needs an accurate knowledge of the system states. Often, these states cannot be gathered directly through sensors, as an appropriate measurement principle for the searched quantity is not available (e.g., determination of the state of charge of a battery), or the sensor is expensive and therefore it is desirable to be economized (e.g., vehicle over ground velocity sensing). Especially for future autonomous vehicles, it is necessary to determine an accurate vehicle position so as to guarantee a reliable vehicle path/trajectory generation, and to follow control functionality cf. [2,3,4].
Here, a novel nonlinear position estimator, relying on a moving horizon estimator approach, which fuses inertial navigation system (INS) and Global Navigation Satellite System (GNSS) sensor data based on a model-based observer framework [2] is proposed. This framework relies on multiphysical prediction model design in Modelica [5], and an automated tool chain to incorporate these by means of the Functional Mockup Interface (FMI) [6] technology, with well proven nonlinear Kalman filter-based algorithms (cf. e.g., [2,7]).

State of the Art in GNSS/INS Coupled Estimation

The topic of INS- and GNSS-based sensor fusion for different applications in ground or air vehicles was a large scope in the research of the last decades. A quiet comprehensive overview of methods such as dead reckoning can be found in the literature, for example, [8,9,10]. Moreover, in the literature [11], time delayed sensor fusion for sigma point Kalman filters (SPKF) is presented. In this approach, the system state is augmented with an N samples delayed state, and a cross correlation of the lagged measurement with the covariance at t k N and with the covariance of the actual time instance t k is performed. In the literature [12], the inertial and magnetometer measurements are delayed to correspond with the GNSS data, and then fused in an observer, resulting in delayed estimates. The current estimates are afterwards calculated integrating the IMU data with the delayed estimates as the start values. Both approaches try to incorporate the delayed information of the GNSS data with a postponed prediction [12] or correction [11].
On the contrary, here, a methodology is proposed that incorporates all of the past, delayed data in every estimation step by means of a nonlinear multiphysical vehicle prediction model and a real-time capable nonlinear moving horizon estimation (MHE) algorithm. Additionally, the knowledge of the road boundaries, for example, provided by a map system with a virtual horizon, are incorporated so as to restrict the vehicle position within the carriage way. A different approach incorporating a direct collocation technique in the MHE formulation was used for the estimation of an aircraft trajectory in the literature [13]. On the contrary, in [14] a Gauss–Newton method was used to solve the nonlinear least-squares problem of the MHE formulation of a Global Positioning System (GPS) and dead reckoning integrated navigation system, by linearizing the optimization problem along the previous state estimation in each iteration. Another method to compensate the missing data of the slow sampled measurements in a (linear) MHE formulation with bounded measurement noise is proposed by the authors of [15], by means of the introduction of prediction values in the missing data gaps. The interested reader can find examples of the recent research advances in the development of new moving horizon estimation techniques in the literature [16,17].

2. The Observer Setup–Problem Formulation of the MHE-Based GNSS/INS Fusion

In a realistic application with a consumer quality GPS sensor, a latency between 50–1000 ms [11,12] is usually considered. This implies a drastic delay in comparison to other in-vehicle sensor systems, for example, the inertial measurement unit (IMU). Here, this fact motivates the discussed observer example with highly delayed measurements in a vehicle position estimation application.
For the experimental evaluation of the constrained state estimation of DLR’s ROboMObil, several test campaigns were carried out at the ADAC (General German Automobile Club) vehicle testing ground in Kempten, Germany. Here, tests of an advanced version of the interactive vehicle path following control (PFC) [2,3] have been performed. In the top left of Figure 1, a portrait of the testing track is shown. The green line depicts the preplanned vehicle path, while the road boundaries are represented by the dotted-orange lines.
The ground-truth data was gathered with help of a differential GPS in order to guarantee high fidelity vehicle state measurements for the experimental validation. In Figure 2, the situation of the MHE estimator proposed here with delayed measurements is depicted. At the current time instance t k , the estimator receives the measurements of the current vehicle yaw rate state ( y k = ψ ˙ IMU C ) and the delayed measurements ( y k * = p C GPS I = { x c GPS I , y c GPS I } ), which are delayed for n d samples, and thus belong to the past vehicle state ( x k n d ). Later, it will be shown that the incorporation of these delayed measurements in a conventional one-step estimation approach (i.e., a Kalman filter) leads to a poor performance or even instability.

2.1. The Extended Single Track Prediction Model

As the scope of the proposed observer (as implied in the introduction of this section) lies on the observation of the actual vehicle states, p C act I , ψ C act I ,   v act C ,   ψ ˙ act C for path following controllers in autonomous vehicles, as proposed by the authors of [2], an observer synthesis model reproduction depth has been chosen that meets the requirements of the computational efficiency and fidelity. An extended single track model (ESTM) was chosen for the forward driving operation mode v 0 , which incorporates vehicle standstill functionalities, rolling resistance, drag forces, and Pacejka’s Magic Formula [18] lateral characteristics of the tires. The following nomenclature is defined (cf. Figure 3):
  • ( · ) C : Quantity expressed in the car coordinate system with origin in the center of gravity
  • ( · ) C : Car quantity expressed in the inertial coordinate system—short for ( · ) C I
The details of the extended single track model equation derivation are given in the Appendix A. It is worth mentioning that with the Modelica modeling technology, it was easily possible to integrate “if-else” constructs, which are efficiently processed by the event handling features of the compiler, while experimenting with varying discretization methods and sample rates, as the model is in continuous-time formulation. The vehicle state vector is denoted as follows, and is graphically exemplified in Figure 3:
x C = { β C , v C , ψ ˙ C   , ψ C , x C , y C }

2.2. Road Boundaries Constraint Formulation and Evaluation

In this section, a methodology is described for incorporating advance-known street boundaries (e.g., from digital maps in combination with vision sensors) into the vehicle position estimation. It is assumed that the initial vehicle position ( p C I ) is sufficiently precisely known, and the corresponding path parameter ( s * ) (cf. Equation (2)) can be determined by means of a time independent path interpolation (TIPI) [2,3], which is explained in the following.
Ideally, the actual path position and the position of the car coincide, p P ( s * ) = p C (cf. Figure 4). To approximate this condition, it is necessary to minimize the displacement ( e ( s ) ) between the vehicle and reference path, as depicted in the following:
The geometrical interpretation of this minimization objective is that p P ( s * ) can be determined by projecting p C orthogonally on the path p P ( s ) . For the TIPI this condition implies that the inverse of the maximal curvature of the demanded vehicle path defines the maximum lateral displacement for which s * exists: e y P ( s * ) 1 / κ P ( s * ) .
s * = argmin s p P ( s ) p C e ( s ) 2
The interested reader can find details on how this optimization problem is solved in the literature [3].
The parametric path λ c ( s ) contains the following quantities for the calculation of the road boundaries constraints: the position x P I ( s ) and y P I ( s ) of the road middle lane, the positions of the left ( l x I ( s ) , l y I ( s ) ) and the right ( r x I ( s ) , r y I ( s ) ) border, and the corresponding path orientation ψ P I ( s ) and its curvature κ P ( s ) .
The extension of the vehicle prediction model (cf. Appendix A) with the roadway boundaries interpolation yields an extra state ( s ˙ ), which is a non-physical state that belongs to the estimation task. The experimental tests considering s ˙ as an estimated state showed that this configuration leads to unsatisfactory results in the overall observer performance. Therefore, this state is separated from the state correction step in the Kalman algorithms (cf. Section 3.2).
In Figure 5, the calculation of the roadway border constraints is graphically shown. By means of the above described algorithm, a path parameter ( s i ) can be found for which the longitudinal derivation error of the vehicle’s actual position ( p C I ) tends to zero.
By means of the path normal vector ( n P I ( s i ) ), represented in the inertial coordinate system (Equation (2)), an inequality function c ( x ) 0 is calculated that penalizes the positions outside of the roadway borders, as follows:
n P I ( s i ) = { sin ( ψ P I ( s i ) ) , cos ( ψ P I ( s i ) ) }
c ( x ) = [ l x I ( s i ) + x C act I l y I ( s i ) + y C I act r x I ( s i ) x C act I r y I ( s i ) y C act I ] n P I ( s i )
This nonlinear inequality function, c ( x ) , can be handled directly by a posteriori constraint projection method for an (extended) Kalman filter. Details on the simplified Newton descent search algorithm used here are given in Appendix B. For the real-time capable moving horizon estimation algorithm in Section 3. it is necessary to linearize c ( x ) at all of the time instances t k , where it is likely that a constraint may be violated by the estimator c ( x k ) > ϵ , as follows:
c ( x ) c ( x k ) + c x | x k ( x x k )
By rearranging Equation (4), the linearized inequality description in Equation (5) can be formulated as follows:
C k x d k   yields c x | x k C k x c x | x k x k c ( x k ) d k
Figure 6 shows an example for the calculation of the nonlinear constraint function. In the left plot, a street is marked with the left l ( s ) and the right r ( s ) street boundaries, while the car (red line with direction arrows) crosses the right boundary in the hairpin curve. This leads to a violation of the right border constraint condition c 1 ( x ) > 0 ,     t [ 19.6   22.1 ]   [ 29.4   30 ] , as can be seen in the right plot of Figure 6.
Assuming that only the vehicle yaw rate ( ψ ˙ act C ) is available to the (extended) Kalman filter, the position estimate would drift away, as shown in Figure 7 dark green line). Making use of the proposed boundary estimation approach used here, in combination with the inequality handling feature from the author of [2], yields a bounded and valid result (light green line), as follows:

3. Real-Time Nonlinear Moving Horizon Estimation

In this section, a nonlinear moving horizon estimator (MHE), which utilizes multiple past measurements to estimate the state at the current time instance, is introduced. In addition to the state constraints, delayed measurements can be directly incorporated into the problem formulation.
Referring to the literature [19], the approach of the moving horizon estimation is the reformulation of the general optimization objective of the Kalman filter theory, also known as the full-information filter. In the nonlinear case, the minimization problem can be written as follows:
min ξ k x 0 x ^ 0 I 0 + 2 + i = 1 N y i m h ( x i ) R 1 2 + i = 0 N 1 x i + 1 f ( x i , u i ) Q 1 2 ξ k = ( x 0 T ,   x 1 T , , x N T ) T
where in the nomenclature of min x e ( x ) W is denoted a with W , and is a weighted least squares minimization problem of a function e with respect to x . The functions f and h are the nonlinear state functions, resprectivley, of the model output equations. The matrix I 0 + = ( P 0 + ) 1 and the vector x ^ 0 represent the initial guess values of the covariance and the system state. The matrix Q denotes the covariance of the system states, and its entries constitute the confidence in the underlying prediction model and can be tuned by the application engineer. The second tuning matrix R represents the confidence in the actual measurements. The well-known Kalman filter algorithms (e.g., extended Kalman filter (EKF) and unscented Kalman filter (UKF)) are special cases of this optimization objective, in the case that only the measurements at the current time instance ( t k ) are available [19]. As the dimension, N , of the optimization problem would grow tremendously with proceeding time, in MHE theory, the time span is limited to a predefined length of previous time instances and is shifted in every sample step.
Therefore, a sliding window with M steps back from the actual time instance ( t k ), is considered to smooth the state estimation. In every sample step ( T s ), this window is shifted one-step ahead—in Figure 8 this is illustrated for one measurement variable, y m . At the filter initialization ( t 0 ), only one measurement is available, and therefore the measurement storage must be filled with r < M steps before the window starts to move. Afterwards, the window length is kept constant and all of the past M measurements are taken into account (the window with M measurements is colored in green in the subsequent figures). In other words, MHE can be seen as a real-time calculable approximation of the full-information filter.
In this way, the estimate gets more robust against external disturbances, delayed measurements can be incorporated (cf. Section 3.2.3), and also constraints can be imposed directly [19].
By means of the proposed estimation framework presented in [2], it is also possible to incorporate complex nonlinear Modelica-based prediction models to moving the horizon estimation. In the context of toolchains for observer code generation and nonlinear constraint MHE, different research studies were recently published that utilize the ACADO toolbox for embedded [20] and real-time moving horizon estimation [21,22]. They make use of the real-time iteration (RTI) scheme transferred to the MHE approach in he literature [23]. The basic strategy is to discretize the estimation problem with a multiple shooting discretization using numerical integration. Then, the main idea of the RTI scheme is to use the shifted state variables of the previous optimization run as the new linearization point, and to perform only one SQP step per sample time [20].
In this work, the problem formulation in Equation (7) is extended for nonlinear systems incorporating linear state constraints, tailored to meet real-time application restrictions by means of a nonlinear gradient descent search. Details on the reasons for this approach are given in the following section.
min ξ k   g ( ξ k = ( x k M T ,   x k M + 1 T , , x k T ) T ) s . t . A ξ k = b C ξ k d
g ( ξ k ) = x k M x ^ k M + I k M + 2 + i = k M k y i m h ( x i ) R 1 2 + i = k M + 1 k x i x int , i Q 1 2
x int , k M = x ^ k M +         x int , i = f i | i 1 ( x int , i 1 , u i 1 ) ( i = k M + 1 , , k )
All of the system function evaluations were done by the FMI [6] (cf. also Section 3.2) and are marked in red in the following section. The optimization vector ( ξ k ) is assembled with M subsequent discrete state vectors within the current estimation window. The optimization cost function g ( ξ k ) in Equation (9) is composed of the following three parts.
The first argument I k M + is the arrival cost, which summarizes all of the available information prior to the estimation window; this can also be seen as a regulation term on the states at t k M [21]. It is introduced so as to guarantee that the oldest estimation ( x k M ) is coincident with the corrected Kalman filter state estimation ( x ^ k M + ) weighted with the information matrix ( I k M + ). Note that in every moving horizon estimation step, a Kalman filter step from k M 1 to k M is performed to fulfill the Kalman state estimation theory—Equation (7). The information matrix, I k M + , is calculated via the inverse of the covariance matrix ( P k M + ) 1 . As direct matrix inversion should be avoided, because of the numerical stability and accuracy, the author proposes using a square root (SR)-UKF or SR-EKF Kalman filter algorithm that uses square-root decomposition and rank 1 updates to propagate the covariance matrix in a lower triangular form, P = L U . The inverse of the lower triangular ( L ) can be efficiently calculated by the LAPACK routine DTRTRI, and therefore, the propagated information matrix results in I k M + = L 1 L .
The second argument, R 1 is the, over the time instances ( k M to M ) summarized and with R 1 weighted, difference between the available measurements y i m and the output equations of the underlying prediction model h ( x i ) as function of the states of the current optimization vector ξ k .
Finally, the third argument, Q 1 , denotes the, over the time instances ( k M to M ) summarized and with Q 1 weighted, difference between the optimized states x i and the open loop integrated prediction model states x int in Equation (10). x int is calculated only once per optimization step by a simulation using x ^ k M + as start vector and u i as input vector.
In Figure 9, a qualitative graphical interpretation of the optimization problem for a scalar problem with n x = n y = 1 is shown. The circle points of the quantities denote the particular values at a discrete-time instance, which is evaluated in the objective function Equation (9).
The complete algorithm is summarized in Algorithm 1. In the first step, all of the past measurements are stored in a first in first out (FIFO) ring buffer. As long as not enough measurements for the complete window M are available, the measurements and the model inputs are appended to the buffer.
Algorithm 1. Algorithm for a nonlinear MHE
Set k = 0 ( k + ) and set x k = x 0
while (brake==false) do
    Fill ring buffer with measurements and system inputs:
  if k < M then
    append u k to u and y k m to y m
  else
    left shift one entry of u and y m
    and append u k respectively y k m
  end if
    Optimize over stored measurement window (Equation (8)):
  if k > M then
    Propagate x ^ k M 1 + via a Kalman Filter step (e.g., EKF or UKF cf. 2):
    xKF( x ^ k M 1 + ) x ^ k M + ,     I k M +
    Project states on the constrained area (c.f. Appendix B)
     min x x x ^ k M +       s . t .     c ( x ) 0
end if
k = k + 1
end while

3.1. A Nonlinear Gradient Descent Opimization Algorithm for MHE

For the solution of the proposed MHE problem formulation, Equation (8) to Equation (10), a nonlinear gradient descent search algorithm (NG) was chosen, because for this solver, only the first derivatives of the minimization objective (Equations (8)–(10)) are needed, which is an important constraint for the available interfaces of the extended FMI 2.0 co-simulation interface (see [2]—Section 4.2.2). Furthermore, linear equality and inequality constraints can be incorporated easily, and the method can be stopped after every optimization step, still offering a reliable sub-optimal solution. The latter is important if the optimization is not finalized at the next sample instant. The algorithm of the constrained NG is given in Algorithm 2, for more details see, for example [24]. This gradient descent search algorithm is already successfully being used on a rapid-prototyping real-time system. For example, it was employed—similar to the one proposed in this manuscript—in previous research on path planning tasks [4]. This gradient descent optimization has been implemented and successfully tested on a dSpace real-time control system with a sample time of 100 ms. The gradient descent algorithm has a fixed number of maximum iterations so as to guarantee the real-time constraint. Even if the global optimum is not found, the suboptimal solution will be better than the initial start solution. Here, the implemented NG algorithm for the observer framework is tailored for the nonlinear moving horizon estimator to meet the maximum flexibility in the calculation of the gradient, and the objective function calculation. That is, it is possible for the user to modify the calculation in Modelica with replaceable function pointers, without modifying the optimization algorithm itself. This will be shown later in an example in Section 3.2.
Algorithm 2. Nonlinear gradient search algorithm for MHE
Set j = 0 ( j + ) and ξ k 0 = ( x int , k M T , , x int , k T ) T
while | g ( ξ k j ) g ( ξ k j + 1 ) | > 10 ϵ do
  if unconstrained then
     r j = g ( ξ k j )
  elseif constrained then
     r pro , j = P ( A ) g ( ξ k j )
     r f , j = r pro , j ( G pa , i r pro , j ) G pa , i T
  end if
  Determine step size via line search: η j = argmin 0 η   g ( ξ k j + η r j )
  Optimization step: ξ k j + 1 = ξ k j + η j r j
   j = j + 1
end while
In step 1 (line 1), an initial solution, ξ k 0 , is needed. Well-proven strategies for its calculation are an open loop integration of the prediction model from x k M to x k , or a left shift of the last optimization vector ξ k 1 and appending an open loop integration from x k 1 to x k . In the unconstrained (lines 3–4) case of the second step, the gradient g ( ξ k j ) of the descent direction can be directly calculated, as shown in Algorithm 3.
Algorithm 3. MHE calculation by means of functional mockup unit (FMU) evaluations
Define: R * = ( R R T ) 1 and Q * = ( Q Q T ) 1
g 1 : n = ( I k M + + ( I k M + ) T ) ( x k M x ^ k M + )   2 h ( x k M ) x k M T R * ( y k M m h ( x k M ) )
for i = k M + 1   to   k do
   g 1 + ( i k + M ) n : ( i k + M + 1 ) n = g ( ξ k ) x i = 2 Q * ( x i x int , i ) 2 h ( x i ) T x i R * ( y i m h ( x i ) )
end for
Also, if equality constraints (lines 5–7) should be incorporated, A ξ = b , the descent direction must be projected on these by means of the Moore–Penrose pseudoinverse [25] r pro , j = P ( A ) g ( ξ k j ) . In most of the MHE applications, this step can be neglected (i.e., P ( A ) = I ), as only inequality constraints are of mayor interest in order to limit the boundaries of the states. To guarantee that the descent direction does not violate the inequality constraints, a set of possible active constraints, G pa , i , in the null space of the linear constraints must be determined. The descent direction is projected on the active constraints ( G pa , i r pro , j ) G pa , i T . More algorithm implementation details can be found in the literature [24].
In step 3 (line 9), an iterative free line search via quadratic approximation by a second order Taylor series polynomial is performed (Equation (11)). Unfortunately, the derivatives of g ( ξ k j ) must be calculated via numerical differences, as the extended FMU 2.0 co-simulation interface only supports directional derivatives with respect to the system states and inputs (see [6]—Section 2.1.9). Note that the necessary determination of g ( ξ k j + Δ s ) in the differential quotient causes only evaluations of the algebraic output equations of the FMI (cf. Equation (9)), as the calculation of the initial guess x int , i is only performed once in this approach.
g ( ξ k j + η r j ) G ( η ) g ( ξ k j ) + g ( ξ k j ) η + 1 2 g ( ξ k j ) η 2 G ( η ) η = ! 0 = g ( ξ k j ) + g ( ξ k j ) η , η j = g ( ξ k j ) g ( ξ k j )
In step 4 (line 10), the actual optimization step, ξ k j + 1 , is computed. Finally, in the last step, it is checked whether the stop criterion has been reached. This can be, on the one hand, with a criterion that controls whether the change in the last iteration, j , is small | g ( ξ k j ) g ( ξ k j + 1 ) | < 10 ϵ , and, on the other hand, a real-time constraint that stops the search in order to guarantee the cycle-time of the real-time system. In this case, it is assumed that the initial guess ( ξ k 0 ), calculated by the high fidelity Modelica model, has been already a valid suboptimal solution, and the iterations of the NG did further improve it (cf. Algorithm 2), before the stop ( ξ k j ).

3.2. Moving Horizon Estimation Algorithm Extensions

Here, for the analyzed ESTM MHE observer, different extensions are discussed, in comparison to the nominal MHE algorithm formulation in Section 3. First, a computationally reliable method is introduced for the calculation of the prediction model and the observer constraints, by means of two multi-rate extended FMUs 2.0 for co-simulation (cf. [2,6,26]). It enables enlarging the sampling time of the observer, inspite of the fact that the constraint calculation needs to be executed in a 50 times faster sampling rate, which gives large benefits to the real-time capability. Second, advanced methods for the coupling of discrete optimization variables are proposed. These enforce the physical coupling of the discrete tuner states ( ξ k ) to overcome an unrealistic solution of the state trajectory. Third, a heuristic method is discussed to prevent optimization freezing through intelligent recalculation of the reference trajectory ( x int ) in segments where no measurements are available.

3.2.1. Constraint Evaluation with a Multi-Rate FMU Model Splitting Concept

The first implementations of the constrained observer were based on a single prediction FMU that combined the ESTM prediction model (Section 3) and the boundary constraint evaluation (Section 2.2). To separate the estimated states from the state of the constraint evaluation (the path parameter s ), Modelica’s logical vector indexing feature was used. However, a simulation experiment analysis showed that in this configuration, it is necessary to run the whole estimator with a fast sampling rate of T s = 4   ms . This is due to the fast dynamics of the control loop to determine the current path parameter ( s ) in the constraint calculation module (cf. Section 2.2). To overcome this issue, the ESTM and the boundary constraint (BC) model were split into two separate FMUs with different sample times ( T s ESTM =   200   ms ,     T s BC = 4   ms ). The connection of the multi-rate FMUs and the estimation algorithm are sketched in Figure 10. Through the model splitting, the states of the ESTM FMU ( x = { β C , v C , ψ ˙ C , ψ C , x C , y C } ) are the inputs of the boundary constraints of FMU, which only has one state, the corresponding path parameter s . The sample time of the constrained FMU is 50 times higher than the one of the ESTM, so as to guarantee numerical stability. Z denotes the permutation matrix between the inputs of the BC FMU and the states of the ESTM FMU.
With this implementation, all of the necessary quantities for the constrained MHE are nested within the multi-rate FMU block, whose interfaces to the outside (denoted with blue arrows) are the same as if no inner model separation was performed. This gives a large benefit in the matter of computational effort, not only caused by the larger integration step, but it also enables the possibility to calculate the constraint only if it is necessary for the estimation algorithm. This benefit is shown in the following simplified flow diagram of the extended MHE algorithm proposed here (see Figure 11). By means of a forward integration in step 1 from t k M to t k , it is checked whether any constraint may be potentially activated ( c a ) and if so, the constraints are linearized along the open loop state trajectory. In step 2, the nonlinear gradient algorithm performs the optimization over the estimation window, incorporating the linearized constraints if necessary. In the last step, step 3, the Kalman filter is updated with the consideration of the system constraints to guarantee that the initial state of the moving window in the next iteration step lies within the feasible region.
Qualitatively, the incorporation of the constraints is depicted in Figure 12. The feasible region of the constraint is limited through the function of c 1 and c 2 (orange-dotted). In this example, the state propagation of the Kalman filter (step 3) causes a violation of c 2 , and therefore, the a posteriori propagated state must be constrained by a method (e.g., state constraint projection in Appendix B. The boundary constraints control (step 1) now starts with the corrected a posteriori estimate, x ^ k M + cstr , and detects a constraint violation between the third and fourth sample point. This is only possible as the BC model is integrated fifty times between every ESTM evaluation and correction step. To guarantee that the initial solution of the NG solver lies in the feasible region, the x int cstr is limited via the simplified Newton descent search, as described in Appendix B.

3.2.2. Multiple Shooting Inspired Optimization Objective Extension

In the original MHE problem formulation (Equation (8) to Equation (10)), the discrete system states within the moving window ξ k = ( x k M T ,   x k M + 1 T , , x k T ) T are not coupled with each other between the sample points ( t k ). This implies that the optimization algorithm does not have any information about the dynamic behavior of the ESTM prediction model between the sample points within the estimation window. In the case of the ESTM, with a large sample time T s = 200   ms , this may lead to a physically unfeasible set ξ k , which however minimizes the optimization criteria. A consideration to overcome this weak point is the introduction of coupling penalty terms between the time instances in the minimization criterion in Equations (9) and (10). Figure 13 exemplifies the approach developed here, namely: the initial open loop integration from the time instance t k M to the current time instance t k is denoted as x int 0 . The set of optimized state vectors ξ k j in the j -th NG descent step (cf. Algorithm 2) is marked with green circles.
The temporal evolution from these discrete states by means of the FMU yields a set of system states x int , i L denoted with a red circle, as follows:
x int , i L = f i | i 1 ( x i 1 , u i 1 ) , ( i = k M , , k )
In the depicted qualitative example (cf. Figure 13), one can see, that through the evolution of the optimization process a displacement x int , i L x p is caused in the j-th iteration step of the NG algorithm (see Algorithm 2). To minimize this gap, the MHE optimization objective is changed to the following:
g ( ξ k ) = x k M x ^ k M + I k M + 2 + i = k M k y i m h ( x i ) R 1 2 + i = k M + 1 k x i x int , i Q 1 2 + i = k M k x i x int , i L Q MS 2 Additional   penalty
In comparison to the original formulation, the quality functional is extended with an additional weighted least squares expression so as to enforce a stronger coupling of the piecewise integration ( x int , i L ) and the optimized stated vector ( x i ) by means of the user tunable weighting matrix ( Q MS ).
Besides performing the integration ( x int , i L ) by means of the FMU (Equation (12)), it is necessary to approximate the integration rule for the gradient g ( ξ k ) calculation. It is proposed that it is more important to generate a good approximated descent direction for the optimizer than the exact reproduction of the integration method x int , i L used in the FMU.
In the simplest case, this is achieved by the consideration of the directional derivative at the past instance (later called V1). In the second version (V2), the integrator is approximated as an Euler 1 integration rule. The last optimization variable coupling approximation is formulated by a trapezoid integration rule (V3), as follows:
V 2 x E 1 , i L = f i | i 1 ( x i 1 , u i 1 )   x i 1 + f i 1 T s V 3 x Tr , i L = f i | i 1 ( x i 1 , u i 1 )   x i 1 + 1 2 ( f i 1 + f i ) T s
With these three versions, the complete extended MHE gradient computation is given in Algorithm 4. Comparing this gradient calculation to the original formulation in Algorithm 3, the main difference is the additional “for loop” with the index j , in which the operator ± denotes that all of the values are additively added to the existing entries from the earlier loop.
Algorithm 4. Multiple shooting MHE gradient calculation
Define: R * = ( R R ) 1 ;   Q * = ( Q Q ) 1 ; E = eye ( n )
Define: i 1 ( i ) : =   1 + ( i k + M ) n : ( i k + M + 1 ) n
g 1 : n = ( I k M + + ( I k M + ) T ) ( x k M x ^ k M + )   2 h ( x k M ) x k M T R * ( y k M m h ( x k M ) )
for i = k M + 1 to k do
     g i 1 ( i ) = g ( ξ k ) x i = 2 Q * ( x i x int , i ) 2 h ( x i ) T x i R * ( y i m h ( x i ) )
    if version == V3 then
         g i 1 ( i ) = ( 1 2 T s f i x i ) T 2 Q MS ( x i x int , i L )
    end if
end for
Define: j 1 ( j ) : = 1 + ( j k + M ) n : ( j k + M + 1 ) n
for j = k M to k 1 do
   g j 1 ( j ) + = g ( ξ k ) x j
  switch(version)
    case V1:
       g j 1 ( j ) + = f j x j 2 Q MS ( x j + 1 x int , j + 1 L )
    case V2:
       g j 1 ( j ) + = ( 1 2 T s f j x j ) T 2 Q MS ( x j + 1 x int , j + 1 L )
    case V3:
       g j 1 ( j ) = ( E + 1 2 T s f j x j ) T 2 Q MS ( x j + 1 x int , j + 1 L )
  end switch
end for

3.2.3. Multi-Rate, Triggered, or Delayed Measurements in MHE

For the nonlinear MHE approach of Section 3, it is proposed to keep the lagged sensor data in a ring buffer, to interconnect them with past measurements of non-lagged sensors, and to index the active sensors at the particular time instance. Comparing this with the formulation of Equation (9), all of the expressions that are connected with the measured output (the middle part) have to be calculated separately in each time step so as to incorporate the changing amount of available sensor information at the dedicated time step.
g ( ξ k ) =   + i = k M k y i , a m h a ( x i ) R k 1 2 + σ ¯ r a =   { σ r i | i y k } R k = diag ( σ ¯ r a ) h a = { h i | i y k } y a m = [ y k M , 1 m y k , 1 m y k M , n y m y k , n y m ]
In Equation (15), all of the active measurements are denoted with an additional subscript ( ( ) a ) for the active sensors. In the construction of the active measurement matrix ( y a m ), the time-delays of the single sensors are already considered. To cope with the varying dimensions in the optimization problem, the implementation could utilize the vector indexing feature in the Modelica language. The same technique is used in the Kalman filter propagation (cf. Algorithm 1) for the reduced indexed measurements. This procedure is valid according to the Kalman theory, and can be seen in an analogy to sequential Kalman filtering (see [10] – Section 6.1). In these implementations, the matrix vector notation of the Kalman filter algorithm is replaced by sequentially solving a scalar problem for each measurement. Therefore, more sensor information can improve the estimation in the sense of minimizing the covariance, P k M + . In the case that less sensor information is available, larger values of det ( P k M + ) occur, but the validity of the Kalman theory still holds. In the same manner, the dimension of the available measurements at t k M for the calculation of the information matrix I k M + and the initial guess x ^ k M + also needs to be considered in the Kalman step.

3.2.4. Adaptive Initial Reference Refreshing for Delayed Measurements

In Section 3.2.3, a theory extension to MHE is given that enables the assignment of measurements to their particular time instance by intelligent measurement storage and temporal activation indexing. In Figure 14, the measurement signal y a m is schematically sketched, which is only available at the time instances highlighted with a yellow flash. For example, between time instances t k M + 1 and t k M + 3 , no new measurement information is available.
Different algorithm experiments have shown that this may force the NG optimizer to tune the variable ξ k , 3 towards the initial guess of the open loop state trajectory ( x int ). To overcome this very conservative solution, a heuristic method is introduced in Equation (16) to refresh x int j + 1 after the optimization step (line 10 in Algorithm 2). It determines the gaps in the logical vector indexing matrix of the active measurements y index a m and integrates from the last time instance where all of the measurements are available, as follows:
x int , i j + 1 = { x int , i 0 ,     { i | ( i y a m ) ( i + 1 y a m ) } f i | i 1 ( ξ k , i 1 j , u i 1 ) ,     { i | ( i y a m ) ( i + 1 y a m ) } ,   ( i = k M , , k ) f i | i 1 ( x int , i 1 j + 1 , u i 1 ) ,   { i | ( i y a m ) ( i + 1 y a m ) }

4. Experimental Results

The following experimental results rely on the test measurement data that were recorded during the driving experiments using ROboMObil, as described in Section 2. Two real-time rapid prototyping systems were used to record all of the variables from the wheel robot controllers as well as the senor system of ROboMObil. The arrangement, shown in Figure 15, is designed to meet the robotics inspired central control architecture with two synchronized rapid prototyping controllers (dSPACE MABX2 and ABX), which represent ROboMObil’s central control unit. The wheel robots with the traction and steering drive torques ( τ ( ST ) , W ), angular velocities ( ω ( ST ) , W ), and steering angles ( δ W ) quantities, as well as the Correvit optical measurement unit (used to measure the vehicle’s longitudinal and lateral speed v act C = { v act x C , v act y C } ), are connected via high-speed controller area network (CAN) busses. The inertial measurement system with a differential corrected Global Navigation Satellite System (GNSS) to measure the vehicle states, such as the positon p C act I , yaw angle ψ C act I and yaw rate ψ ˙ C act I , or the velocity v act C , is wired to the central control by an Ethernet bus. Additionally, the wheel ( a W ) and chassis body ( a body ) accelerations, as well as wheel travel sensors ( s W ) are tethered via analog inputs. Both the inertial measurement unit from Oxford Technical Solutions Ltd. (OxTS) measurement unit and the optical odometry sensor are suited for the experimental evaluation of the driving experiments.

4.1. Observer Configuration

The preliminary observer case studies showed that with the modeling approach chosen here (cf. Section 2.1), in combination with a Runge–Kutta 4 integrator, the vehicle position estimator can be run with a cycle time of T s = 200   ms . Moreover, the usage of the vehicle yaw rate (   ψ ˙ C ) can actively contribute to improve the measurement, whereas the incorporation of the vehicle lateral acceleration ( a y C ) downgrades the observer performance. The output equation, a y C = v C     ( ψ ˙ C + β ˙ C ) , shows clearly that the lateral acceleration is algebraically cross-coupled to the vehicle yaw rate ( ψ ˙ C ). In fact, this causes the aforementioned observations, as it is, to the best knowledge of the author, impossible to find a covariance configuration—even by optimization—which makes reasonable use of both the sensor information and overcomes the negative effects of, for example, minimal jittering relative delays between both signals.
In Figure 16, different simulation results of the same vehicle position estimator are given. Again, the road boundaries are marked in a dotted-orange color. The vehicle completed three rounds through the circuit. The red trajectory denotes the open loop result—the ESTM model is simulated with the actual system inputs u —and the position is strongly drifting away from the planned trajectory, caused by the evolving position integration error (compare equations for d x C / d t ,   d y C / d t —in Equation (A1)). The green and the blue curves denote the results with a single step Kalman filter, under the assumption that no delays are in the measurements.
The best observation results could be achieved by the use of a square root extended Kalman filter (SR-EKF) algorithm (cf. e.g., [2]), whereas the square root unscented Kalman filter (SR-UKF) (cf. e.g., [2]) was less robust. The reason for this is the sigma point propagation through the Pacejka tire model, which evidently leads to a wrong state propagation caused by its high sensitivity around the actual state estimation point.

4.2. Moving Horizon Estimation Algorithm Assessment

In this last subSection, the complete MHE ESTM algorithm with its extensions to couple the optimization variables (cf. Section 3.2), refreshment of the initial guess, and efficient road boundary constraint handling are demonstrated (cf. Figure 7). In Table 1, the outcome of a comprehensive simulation case study is summarized. The window length has been set to M = 4 and the GPS time delay varies between n d = 0 3 steps. All of the parameters for the respective observer configuration have been optimized with the DLR multi-objective parameter synthesis (MOPS) optimizer framework [27] to guarantee comparable results.
The results in Table 1 are sorted with respect to the number of delayed samples ( n d ) of the GPS signal. The results that differ tremendously (good or bad) in a group of the same number of delays are highlighted in green or red, respectively. The first column denotes the used observer setup, in which the acronyms for SS (single shooting; standard formulation), MS (multiple shooting), fix (constant initial guess), and up (anti optimization freezing) are used. The second column gives the average execution time per estimation step T ¯ mean in [ ms ] of the experiment executed on a standard 64-bit Windows-based system (Intel i7-4600U 2,7 GHz, 8 GB Ram, SSD), and can be interpreted as a measure for the increase of computational complexity in comparison to the improvement of the estimation. It can be seen that even in the most computationally demanding configuration (MHE MS up V3 T ¯ mean = 136.8   ms ), the algorithm can be executed faster than in real-time ( T ¯ mean T s ). In the third to eighth columns, the percentage goodness of fit (normalized root mean square error between to time series) in comparison to the reference measures of the experiment (cf. Section 2) are summarized.
The first two rows in Table 1 give reference of the ESTM without any observer correction, but in the second row has the roadway constraint incorporation. The next two rows are the first results using an observer that only incorporates the measured vehicle yaw rate ( ψ ˙ act C ). Both still have a large positional deviation, albeit the estimation of the vehicle yaw rate, and the angle and side slip angle are improved in comparison with the open loop tests. The next section highlights three versions of the ESTM observer, with all measurements ψ ˙ act C ,   p C act I available and not delayed. The best results can be achieved with the multiple shooting objective V1. The following two experiments incorporate a delay of one sample step.
Unfortunately, the SR-EKF algorithm could not be stabilized to give a feasible estimate for all of the measures, especially the side slip angle ( β C ) is heavily oscillating (cf. Figure 17—bottom left). Here, for the first time, the delayed measurement compensation in the MHE formulation can show its advantage in the single shooting as well as in the multiple shooting objective formulations.
The section with n d = 2 is the largest section, which correlates to a delay of 400   ms . All of the modifications introduced in Section 3.2 are tested here for their performance. Even though all of the results are very close to each other, the multiple shooting V1 with reference updating gives the best performance in positioning accuracy and computational reliability (cf. state plots in Figure 18).
In the last two rows of the simulation study, two configurations with n d = 3 are assessed. The single shooting (see Figure 19) and multiple shooting do benefit from the proposed update mechanism, and even if the GPS signal is delayed by 600   ms , the results are still reliable.
In total, it can be stated that the time delay incorporation in a MHE is very effective and gives good stability, especially when the sample steps are large. The competitive SR-EKF algorithm failed already with a delay of n d = 1 , although its computational time is up to 20 times lower. The influence of the extension of the objective function with multiple shooting penalties needs to be analyzed from case to case, whereas the anti-freezing feature in the optimizer can be seen as a good improvement to the solution at time instance t k (cf. Figure 20).
Future investigations will be performed with methods other than the NG solver methods, as recently proposed in the literature [28], which are capable of handling nonlinear (in-)equality constraints in real-time. With this extension, it is likely that the multiple shooting approaches might be even more effective.

5. Conclusions

The outcome of the ESTM MHE observer can be summarized as follows:
  • A continuous-time Modelica vehicle model with event handling for vehicle standstill (cf. Section 2.1) could be derived (see estimation experiment in Figure 21, starting from standstill and coming back to standstill for about 20   s ) and automatically discretized via Dymola, the extended FMU 2.0 for co-simulation technology and the model-based observer framework.
  • The derivation of the roadway limit constraint has been designed by extending the principle of the path interpolation introduced in Section 2.2.
  • The nominal MHE algorithm of Section 3 was augmented with a multiple shooting formulation in the objective function, a heuristic optimization freezing prevention, a multi-rate model, and a constraint calculation splitting methodology.
  • For the experimental investigations, real test data from ROMO was selected, and additionally, the GPS position measures were delayed for the experimental setup.
  • All together with the technique for delayed measurements in the MHE application (Section 3.2.3), a comprehensive simulative assessment with the different objective configuration and anti-freezing features, as well as varying delays in comparison to a standard Kalman filter, have been given.
  • The proposed estimation approach could achieve a position x C , y C estimate fit of about 98%, and by mean of the delay compensation technique, this value is, even with a delay of n d = 3 , only reduced to about 97%. The estimate of the vehicle velocity is even 4% improved by the use of the MHE technique in comparison to the EKF. The yaw angle estimate ( ψ C ) quality for all of the configurations is very high, whereas the yaw rate ( ψ ˙ C ) and side slip angle ( β C ) do vary about 5%, but still have reasonable estimates.

Acknowledgments

The author’s thanks goes to the DLR ROboMObil team for supporting the ROboMObil test drives and data acquisition. Moreover, the author’s special thanks go to BMBF for supporting the research on the Modelica-based observer framework in the ITEA project MODRIO (BMBF support code 01IS12022G), and the current research on the embedded FMI realization and standardization in the ITEA project EMPHYSIS (BMBF support code 01IS17023B).

Conflicts of Interest

The author declares no conflict of interest.

Appendix A. The Extended Nonlinear Single Track Model Equations

The set of ordinary differential equations of the ordinary differential equation form x C = { β C , v C , ψ ˙ C ,   ψ C , x C , y C } can be given as follows:
d β C d t = sin ( β C ) F x C + cos ( β C ) F y C m v mod C ψ ˙ C d v C d t = cos ( β C ) F x C + sin ( β C ) F y C m d ψ ˙ C d t = M Z C / J Z C d ψ C d t = ψ ˙ C d x C d t = v C cos ( ψ C + β C ) d y C d t = v C sin ( ψ C + β C )
The vehicle side slip ( β C ) is the angle between the vehicle origin coordinate system and the actual vehicle velocity vector ( v C ). The yaw angle ( ψ C ) and yaw angle rate ( ψ ˙ C ) describe the rotation with respect to a fixed inertial system ( x I , y I ), in which the vehicle positions x C , y C are also expressed. Additional quantities are the vehicle mass ( m ), the yaw moment around the center of gravity ( M Z C ), and the corresponding vehicle yaw inertia ( J Z C ). To prevent division by zero, the denominator of the vehicle side slip state ( β ˙ C ) is calculated by use of Equation (A2), which limits the minimum velocity to v min C (only valid for small values of v min C ).
v mod C = v C v C + 4 v min C v min C + v C 2
The inputs to the model are the commanded torque set-points to the in-wheel motors and the per axle averaged steering angles u C = { τ W 1 , τ W 2 , τ W 3 , τ W 4 , δ W f , δ W r } . The forces (marked blue in Figure 3) to the vehicle body center of gravity are calculated by considering the geometric dependencies to the instantaneous steering angles δ ( ) , as follows:
F x C = sin ( δ W f ) F s W f   sin ( δ W r ) F s W r + cos ( δ W f ) F l W f + cos ( δ W r ) F l W r F Air x C F y C = cos ( δ W f ) F s W f + cos ( δ W r ) F s W r + sin ( δ W f ) F l W f + sin ( δ W r ) F l W r F Air y C M Z C = l f cos ( δ W f ) F s W f l r cos ( δ W r ) F s W r + l f sin ( δ W f ) F l W f l r sin ( δ W r ) F l W r + e CoG F Air y C F Air y C = 0.5 c w y ρ A y v Air C y 2
In this set of equations, F s ( ) denotes the wheel side forces and F l ( ) the corresponding longitudinal forces. The distances from the center of gravity (CoG) to the rear and front wheels are given by l ( ) , and the external longitudinal F Air x C and lateral F Air y C air drag forces are applied to the vehicle body. The lateral forces of the tire are calculated by trigonometric functions based on Pacejka’s tire model [18], whose input variable is the wheel’s side slip angle α W ( ) , as follows:
F s W f = D sin ( C atan ( B α W f E ( B α W f atan ( B α W f ) ) ) ) F s W r = D sin ( C atan ( B α W r E ( B α W r atan ( B α W r ) ) ) ) α W f = ( δ W f ) atan ( v mod C sin ( β C ) + l f ψ ˙ C v mod C cos ( β C ) ) α W r = ( δ W r ) atan ( v mod C sin ( β C ) l r ψ ˙ C v mod C cos ( β C ) )
Herein, the factor B denotes the tire’s stiffness, C is an aspect ratio for the calculated force, D the maximum value of the curve, and E is the modulus of bending rupture. For the longitudinal tire dynamics, a simplified modeling without the consideration of the actual wheel slip was used, as experiments in combination with observer algorithms yielded poor and unstable results, and the vehicle’s acceleration range of the maneuvers considered here is limited, as follows:
F L W f = τ W 1 R + τ W 2 R f rv ( m l r g l f + l r ) F L W r = τ W 3 R + τ W 4 R f rv ( m l f g l f + l r )
Finally, the speed dependent rolling resistance ( f rv ( and the longitudinal air drag ( F Air x C ) are calculated according to Equation (A6). By use of the “if-statement”, the vehicle is prevented from rolling backwards in case of standstill on a planar surface, and no braking torque is applied, as follows:
if   v C > v min C f rv = f R 0 + f R 1 v mod C 100 + f R 4 ( v mod C 100 ) 4 F Air x C = 1 2 c w x ρ A x v Air C x 2 else f rv = 0 F Air x C = 0 end
In the following the result of the STM parameter, identification by means of a nonlinear model based optimization is given (cf. Table A1). The derived model is implemented in Modelica and later exported as an FMU for the observer, described in Section 3.2. For the optimization process, the DLR Optimization Library [29] has been utilized. As a tuning algorithm, the pattern search method was chosen. For training and validation, data real world experiments on vehicle test tracks with ROboMObil have been used. ROMO’S ESTM optimized parameters are given in Table A1.
Table A1. ROMO’s ROboMObil’s—(German Aerospace Center’s (DLR’s) robotic electric vehicle) extended single track model (ESTM) optimized parameters.
Table A1. ROMO’s ROboMObil’s—(German Aerospace Center’s (DLR’s) robotic electric vehicle) extended single track model (ESTM) optimized parameters.
ParameterValueDescription
f R 0 0.009 First parameter of roll resistance
f R 1 0.2811588 Second parameter of roll resistance
f R 4 0.44906 Fourth parameter of roll resistance
B 5.1088547 Parameter of Pacjeka’s MF
C 2.0280 Parameter of Pacjeka’s MF
D 724.70 Parameter of Pacjeka’s MF
E 0.8903703 Parameter of Pacjeka’s MF
c w x 0.3 Longitudinal air drag coefficient
ρ 1.249512   [ N / m 2 ] Air density
A x 1.2323485   [ m 2 ] Effective flow surface front
m 1013   [ kg ] ROboMObil mass
l f 1.218   [ m ] CoG to front wheel
l r 1.182   [ m ] CoG to rear wheel
R 0.3722   [ m ] Wheel radius
J Z C 1130   [ kgm 2 ] Chassis moment of yaw inertia

Appendix B. A Constraint Projection Method for Kalman Filters

In the literature [2], a survey on different methods for incorporating inequality constraints to Kalman filter algorithms is given, and three methods for nonlinear Kalman filters that fit for constraints of the type c ( x ) 0 , which are neither contradictory nor redundant, and only one constraint is active at the same time, are discussed. The algorithm applied here is based on a simplified Newton descent search (i.e., without considering the second order derivative), which projects the a posteriori estimation ( x ^ k + ) of a Kalman filter on the constrained surface. The optimization objective is formulated as follows:
x ^ k P = argmin x   x x ^ k + s . t . c ( x ) < = 0
The idea behind this algorithm is to perform a descent search along the gradient ( c ( x ^ k + ) ) calculated at the point x ^ k + , until the constraint equation c ( x ^ k P ) 0 holds again. Graphically this can be interpreted as shown in Figure A1.
Figure A1. Principle of the Newton descent search for state constraint handling.
Figure A1. Principle of the Newton descent search for state constraint handling.
Sensors 19 02276 g0a1
This optimization task can be formulated with the method of Lagrange multipliers. Equation (A8) denotes the above formulated optimization objective in a general description, as follows:
min ( x , μ ) = f ( x ) μ ( g ( x ) d )
Therefore, the optimal solution of this unrestricted minimization problem is formulated as follows:
x , μ ( x , μ ) = 0
This approach is now applied to the estimation projection optimization problem (Equation (A7)) and the searched restricted estimate ( x ^ k P ) is calculated using the Lagrange multiplier ( μ ) and the gradient of the active constraint ( c ( x ) ), as follows:
x ^ k P = x ^ k + + μ c ( x )   s . t . c ( x ) = 0 c ( x ^ k + + μ c ( x ) ) = 0
To fulfill Equation (A10), the approach is expressed with a simplified Newton descent search algorithm by means of a scalar zero search F ( μ ) = 0 , with respect to the Lagrange variable μ , as follows:
c ( x ) c ( x ^ k + ) yields F ( μ ) = c ( x ^ k + + μ c ( x ^ k + ) ) = ! 0 F μ = c ( x ^ k + + μ c ) T c ( x ^ k + ) F μ | μ = 0 = c ( x ^ k + ) T c ( x ^ k + )
This can be implemented as an iterative search algorithm, which determines μ such that the condition F ( μ ) = 0 holds within a predefined maximum number of calculation steps. The pseudo code for the algorithm is given in Algorithm A1.
Algorithm A1. Simplified Newton descent search algorithm for constrained estimation projection.
     1. Set μ o = 0 and k = 1 and iter=1 and max_iter=30
Set α = ( c ( x ^ k + ) T c ( x ^ k + ) ) 1
while | α c ( x ^ k + + μ k + 1 c ( x ^ k + ) ) | ϵ Newton and iter < max_iter do
     k = k + 1
     Δ μ k + 1 = α c ( x ^ k + + μ k c ( x ^ k + ) )
     μ k + 1 = μ k + Δ μ k + 1
     i t e r = i t e r + 1
end while
Solution: x ^ k P = x ^ k + + μ k + 1 c ( x ^ k + )

Appendix C. Lists of Symbols, Nomenclatures, and Abbreviations

Formula symbolUnitDescription
β C [ rad ] Vehicle’s side slip angle
v C [ m / s ] Vehicle’s velocity over ground
ψ ˙ C [ rad / s ] Vehicle’s yaw rate
ψ C [ rad ] Vehicle’s yaw angle
x C [ m ] Vehicle’s position in x direction
y C [ m ] Vehicle’s position in y direction
NomenclatureExplanation
e Lower case letter variable is a scalar
e Bold lower case letter variable is a vector
E Bold upper case letter variable is a matrix
e = { e 1 , e 2 }
= ( e 1 , e 2 ) T
Equivalent vector notations
E = [ e 11 e 12 e 21 e 22 ] Matrix notation
( · ) W x Quantity expressed in the x -th wheel robot coordinate system parallel to the car coordinate system
( · ) C Quantity expressed in the car coordinate system with origin in CoG
( · ) C P Car quantity expressed in the path coordinate system with origin in CoG
( · ) C Car quantity expressed in the inertial coordinate system – short for ( · ) C I
( · ) P Quantity expressed in the path coordinate system
min x e ( x ) W
s . t .
With W weighted least squares minimization of function e with respect to x “subject to” if the problem is restricted
AbbreviationExplanation
ABXAutoBox—rapid prototyping real-time controller from dSPACE GmbH
ACADOSoftware environment and algorithm collection for automatic control and dynamic optimization [20]
ADACGeneral German Automobile Club
BCBoundary constraint
CANController area network—vehicle bus standard
CoGCenter of gravity
DLRGerman Aerospace Center
Dymola Modelica simulator from Dassault Systèmes
EKFExtended Kalman filter
ESTMExtended single track model
FIFOFirst in first out (buffer)
FMIFunctional mockup interface
FMUFunctional mockup unit
GNSSGlobal Navigation Satellite System
GPSGlobal Positioning System
IMUInertial measurement unit
INSInertial navigation system
LAPACKLinear algebra package
MABX2MicroAutoBox II—embedded rapid prototyping real-time controller from dSPACE GmbH
MHEMoving horizon estimation/estimator
ModelicaObject oriented modeling language for multiphysical systems
NGNonlinear gradient (descent search)
OxTSInertial measurement unit from Oxford Technical Solutions Ltd.
PFCPath following control
QPQuadratic program
ROboMObilsee ROMO
ROMOshort for ROboMObil—DLR’s robotic electric vehicle
RTIReal-time iteration
SPKFSigma point Kalman filter
SQPSequential quadratic program
SRSquare-root
SR-EKFSquare-root extended Kalman filter
SR-UKFSquare-root unscented Kalman filter
TIPITime independent path interpolation
TMTraction motor
UKFUnscented Kalman filter
Wheel robotWheel unit that integrates propulsion, steering, and brake c.f. [1]

References

  1. Brembeck, J.; Ho, L.M.; Schaub, A.; Satzger, C.; Tobolar, J.; Bals, J.; Hirzinger, G. ROMO―The Robotic Electric Vehicle. In Proceedings of the 22nd IAVSD International Symposium on Dynamics of Vehicle on Roads and Tracks, Manchester, UK, 14–19 August 2011. [Google Scholar]
  2. Brembeck, J. Model Based Energy Management and State Estimation for the Robotic Electric Vehicle ROboMObil. Ph.D. Thesis, Technischen Universität München, Munich, Germany, 2018. [Google Scholar]
  3. Ritzer, P.; Winter, C.; Brembeck, J. Advanced Path Following Control of an Overactuated Robotic Vehicle. In Proceedings of the IEEE Intelligent Vehicles Symposium, Seoul, Korea, 28 June–1 July 2015; pp. 1120–1125. [Google Scholar]
  4. Winter, C.; Ritzer, P.; Brembeck, J. Experimental Investigation of Online Path Planning for Electric Vehicles. In Proceedings of the 19th the IEEE International Conference on Intelligent Transportation Systems (ITSC), Rio de Janeiro, Brasil, 1–4 November 2016; pp. 1403–1409. [Google Scholar]
  5. Modelica Association. Modelica. Available online: http://www.modelica.org (accessed on 28 June 2018).
  6. Modelica Association. Functional Mockup Interface. Available online: https://www.fmi-standard.org/ (accessed on 1 June 2018).
  7. Grewal, M.S.; Andrews, A.P. Kalman filtering: Theory and practice using MATLAB, 4th ed.; John Wiley & Sons Inc.: Hoboken, NJ, USA, 2015. [Google Scholar]
  8. Yoon, J.-W.; Kim, B.-W. Vehicle position estimation using nonlinear tire model for autonomous vehicle. J. Mech. Sci. Technol. 2016, 30, 3461–3468. [Google Scholar] [CrossRef]
  9. Groves, P. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Second Edition, 2nd ed.; Artech House: Lodon, UK, 2013. [Google Scholar]
  10. Simon, D. Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches, 1st ed.; Wiley & Sons: Cleveland, OH, USA, 2006. [Google Scholar]
  11. Merwe, R.v.d.; Wan, E.A.; Julier, S. Sigma-Point Kalman Filters for Nonlinear Estimation and Sensor-Fusion: Applications to Integrated Navigation. In Proceedings of the AIAA Guidance, Navigation & Control. Conference, Providence, IR, USA, 16–19 August 2004; pp. 16–19. [Google Scholar]
  12. Hansen, J.M.; Fossen, T.I.; Johansen, T.A. Nonlinear observer for INS aided by time-delayed GNSS measurements: Implementation and UAV experiments. In Proceedings of the International Conference on Unmanned Aircraft Systems (ICUAS), Denver, CO, USA, 9–12 June 2015; pp. 157–166. [Google Scholar]
  13. Girrbach, F.; Hol, J.D.; Bellusci, G.; Diehl, M. Optimization-Based Sensor Fusion of GNSS and IMU Using a Moving Horizon Approach. Sensors 2017, 17, 1159. [Google Scholar] [CrossRef] [PubMed]
  14. Omar, H.M.; Yanzhong, Z.; Bo, Z.; Gul, H.U. Integration of GPS and dead reckoning navigation system using moving horizon estimation. In Proceedings of the IEEE Information Technology, Networking, Electronic and Automation Control. Conference, Chongqing, China, 20–22 May 2016; pp. 553–556. [Google Scholar]
  15. Liu, A.; Zhang, W.; Yu, L.; Chen, J. Moving horizon estimation for multi-rate systems. In Proceedings of the 54th IEEE Conference on Decision and Control. (CDC), Osaka, Japan, 15–18 December 2015; pp. 6850–6855. [Google Scholar]
  16. Huang, Y.; Zhang, Y.; Shi, P.; Wu, Z.; Qian, J.; Chambers, J.A. Robust Kalman Filters Based on Gaussian Scale Mixture Distributions With Application to Target Tracking. IEEE Trans. Syst. Man Cybern. Syst. Hum. (Early Access) 2018, 1–15. [Google Scholar] [CrossRef]
  17. Sun, Q.; Lim, C.; Shi, P.; Liu, F. Design and Stability of Moving Horizon Estimator for Markov Jump Linear Systems. IEEE Trans. Autom. Control. 2019, 64, 1109–1124. [Google Scholar] [CrossRef]
  18. Pacejka, H. Tire and Vehicle Dynamics, 3rd ed.; Elsevier: Amsterdam, The Netherlands, 2012; p. 672. [Google Scholar]
  19. Simon, D. Kalman filtering with state constraints: a survey of linear and nonlinear algorithms. IET Control Theory Appl. 2010, 4, 1303–1318. [Google Scholar] [CrossRef] [Green Version]
  20. Vukov, M. Embedded Model. Predictive Control. and Moving Horizon Estimation for Mechatronics Applications. Ph.D. Thesis, KU Leuven – Faculty of Engineering Science, Leuven, Belgium, 2014. [Google Scholar]
  21. Boegli, M. Real-Time Moving Horizon Estimation for Advanced Motion Control. Application to Friction State and Parameter Estimation. Ph.D. Thesis, KU Leuven, Leuven, Belgium, 2014. [Google Scholar]
  22. Ferreau, H.J.; Kraus, T.; Vukov, M.; Saeys, W.; Diehl, M. High-speed moving horizon estimation based on automatic code generation. In Proceedings of the 51st Annual Conference on Decision and Control. (CDC), Maui, HI, USA, 10–13 December 2012; pp. 687–692. [Google Scholar]
  23. Kühl, P.; Diehl, M.; Kraus, T.; Schlöder, J.P.; Bock, H.G. A real-time algorithm for moving horizon state and parameter estimation. J. Comput. Chem. Eng. 2011, 35, 71–83. [Google Scholar] [CrossRef]
  24. Winter, C.; Brembeck, J.; Kennel, R. Online Energy Optimal Path Planner for Advanced Electric Vehicles. Master’s Thesis, Technische Universität München, Munich, Germany, 2013. [Google Scholar]
  25. Golub, G.H.; Van Loan, C.F. Matrix Computations, 4th ed.; Johns Hopkins University Press: Baltimore, MD, USA, 2013. [Google Scholar]
  26. Brembeck, J.; Pfeiffer, A.; Fleps-Dezasse, M.; Otter, M.; Wernersson, K.; Elmqvist, H. Nonlinear State Estimation with an Extended FMI 2.0 Co-Simulation Interface. In Proceedings of the 10th International Modelica Conference, Lund, Sweden, 10–12 March 2014; pp. 53–62. [Google Scholar]
  27. Joos, H.-D.; Bals, J.; Looye, G.; Schnepper, K.; Varga, A. Optimisation-based multi-objective design and assessment―MOPS―Multi-Objective Parameter Synthesis. Available online: https://www.dlr.de/rm/en/desktopdefault.aspx/tabid-3842/6343_read-9099/ (accessed on 10 November 2018).
  28. Kouzoupis, D.; Quirynen, R.; Girrbach, F.; Diehl, M. An efficient SQP algorithm for Moving Horizon Estimation with Huber penalties and multi-rate measurements. In Proceedings of the Conference on Control. Applications (CCA), Buenos Aires, Argentina, 19–22 September 2016; pp. 1482–1487. [Google Scholar]
  29. Pfeiffer, A. Optimization Library for Interactive Multi-Criteria Optimization Tasks. In Proceedings of the 9th International Modelica Conference, Munich, Germany, 3–5 September 2012; pp. 669–679. [Google Scholar]
Figure 1. Path following control (PFC) experiment with ROMO (short for ROboMObil—German Aerospace Center’s (DLR’s) robotic electric vehicle) at the General German Automobile Club’s (ADAC’s) test facilities in Kempten.
Figure 1. Path following control (PFC) experiment with ROMO (short for ROboMObil—German Aerospace Center’s (DLR’s) robotic electric vehicle) at the General German Automobile Club’s (ADAC’s) test facilities in Kempten.
Sensors 19 02276 g001
Figure 2. Delayed Global Positioning System (GPS) measurements incorporation in vehicle position estimation.
Figure 2. Delayed Global Positioning System (GPS) measurements incorporation in vehicle position estimation.
Sensors 19 02276 g002
Figure 3. Vehicle dynamics quantities of the extended single track model.
Figure 3. Vehicle dynamics quantities of the extended single track model.
Sensors 19 02276 g003
Figure 4. Graphical representation of the dynamic root finding to determine s * .
Figure 4. Graphical representation of the dynamic root finding to determine s * .
Sensors 19 02276 g004
Figure 5. Graphical analysis of the street boundary calculation.
Figure 5. Graphical analysis of the street boundary calculation.
Sensors 19 02276 g005
Figure 6. Example path with boundary violation (Left) and constraints evaluation (Right).
Figure 6. Example path with boundary violation (Left) and constraints evaluation (Right).
Sensors 19 02276 g006
Figure 7. Observer behavior with and without path constraints.
Figure 7. Observer behavior with and without path constraints.
Sensors 19 02276 g007
Figure 8. Schematic representation of a moving measurement window.
Figure 8. Schematic representation of a moving measurement window.
Sensors 19 02276 g008
Figure 9. Schematic representation of a moving measurement window.
Figure 9. Schematic representation of a moving measurement window.
Sensors 19 02276 g009
Figure 10. Two encapsulated multi-rate functional mockup units (FMUs) as one prediction model.
Figure 10. Two encapsulated multi-rate functional mockup units (FMUs) as one prediction model.
Sensors 19 02276 g010
Figure 11. Flowchart of the extended moving horizon estimator.
Figure 11. Flowchart of the extended moving horizon estimator.
Sensors 19 02276 g011
Figure 12. Constraint violation detection and handling within the moving window.
Figure 12. Constraint violation detection and handling within the moving window.
Sensors 19 02276 g012
Figure 13. Schematic representation of a moving measurement window.
Figure 13. Schematic representation of a moving measurement window.
Sensors 19 02276 g013
Figure 14. Moving horizon window with fragmentary measurements.
Figure 14. Moving horizon window with fragmentary measurements.
Sensors 19 02276 g014
Figure 15. ROboMObil’s vehicle dynamics sensors and actuators architecture. OxTS—inertial measurement unit; ABX—AutoBox (rapid prototyping real-time controller); MABX2—MicroAutoBox II (embedded rapid prototyping real-time controller).
Figure 15. ROboMObil’s vehicle dynamics sensors and actuators architecture. OxTS—inertial measurement unit; ABX—AutoBox (rapid prototyping real-time controller); MABX2—MicroAutoBox II (embedded rapid prototyping real-time controller).
Sensors 19 02276 g015
Figure 16. Comparison of different measurement incorporations.
Figure 16. Comparison of different measurement incorporations.
Sensors 19 02276 g016
Figure 17. Extended single track model (ESTM) square-root extended Kalman filter (SR-EKF) ( n d = 1 ) setup state estimations (red) vs. reference (black).
Figure 17. Extended single track model (ESTM) square-root extended Kalman filter (SR-EKF) ( n d = 1 ) setup state estimations (red) vs. reference (black).
Sensors 19 02276 g017
Figure 18. ESTM moving horizon estimation/estimator multiple shooting (MHE MS) up V1 ( n d = 2 ) state estimations (blue) vs. reference (black).
Figure 18. ESTM moving horizon estimation/estimator multiple shooting (MHE MS) up V1 ( n d = 2 ) state estimations (blue) vs. reference (black).
Sensors 19 02276 g018
Figure 19. ESTM MHE single shooting (SS) up ( n d = 3 ): x–y position estimations results.
Figure 19. ESTM MHE single shooting (SS) up ( n d = 3 ): x–y position estimations results.
Sensors 19 02276 g019
Figure 20. Effectiveness of the anti-freezing heuristic within the optimization window.
Figure 20. Effectiveness of the anti-freezing heuristic within the optimization window.
Sensors 19 02276 g020
Figure 21. Experiment with vehicle standstill estimation (red) vs. reference (black).
Figure 21. Experiment with vehicle standstill estimation (red) vs. reference (black).
Sensors 19 02276 g021
Table 1. Comparison of the vehicle position observer performance indicators. SR-EKF—square-root extended Kalman filter; MHE—moving horizon estimation/estimator; MS—multiple shooting; SS—single shooting.
Table 1. Comparison of the vehicle position observer performance indicators. SR-EKF—square-root extended Kalman filter; MHE—moving horizon estimation/estimator; MS—multiple shooting; SS—single shooting.
Algorithm T ¯ mean x C Fit y C Fit ψ C Fit ψ ˙ Fit C v Fit C β Fit C
n d =
Open Loop 6.4 75.562.296.480.277.781.0
Open Loop Cstr. 6.4 87.787.596.480.277.781.0
n d = 0
SR - EKF   ψ ˙ act C 4.4 78.995.299.195.577.387.4
SR - EKF   ψ ˙ act C Cstr. 4.8 88.289.299.195.577.387.4
SR-EKF6.497.997.299.293.382.485.2
MHE SS 67.297.396.599.495.583.181.3
MHE MS V1 46.4 98.597.899.386.986.480.4
n d = 1
MHE SS up 78.8 98.297.899.498.484.680.9
MHE MS up V193.698.397.899.486.885.381.0
n d = 2
MHE SS fix 77.6 98.497.899.298.985.980.1
MHE SS up 75.2 98.798.199.298.285.980.3
MHE MS up V161.698.898.299.386.986.480.4
MHE MS fix V2 64.8 98.598.199.286.386.780.0
MHE MS up V2 110.0 98.798.299.286.886.780.0
MHE MS fix V3 67.2 98.598.099.286.586.680.3
MHE MS up V3136.898.798.399.286.686.680.3
n d = 3
MHE SS up56.897.797.198.997.386.879.6
MHE MS up V179.697.797.199.187.987.380.1

Share and Cite

MDPI and ACS Style

Brembeck, J. Nonlinear Constrained Moving Horizon Estimation Applied to Vehicle Position Estimation. Sensors 2019, 19, 2276. https://doi.org/10.3390/s19102276

AMA Style

Brembeck J. Nonlinear Constrained Moving Horizon Estimation Applied to Vehicle Position Estimation. Sensors. 2019; 19(10):2276. https://doi.org/10.3390/s19102276

Chicago/Turabian Style

Brembeck, Jonathan. 2019. "Nonlinear Constrained Moving Horizon Estimation Applied to Vehicle Position Estimation" Sensors 19, no. 10: 2276. https://doi.org/10.3390/s19102276

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop