Next Article in Journal
Unobtrusive Health Monitoring in Private Spaces: The Smart Vehicle
Next Article in Special Issue
Robust VLC Beacon Identification for Indoor Camera-Based Localization Systems
Previous Article in Journal
Application of Radio Environment Map Reconstruction Techniques to Platoon-based Cellular V2X Communications
Previous Article in Special Issue
Communication Aspects of Visible Light Positioning (VLP) Systems Using a Quadrature Angular Diversity Aperture (QADA) Receiver
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

State Observability through Prior Knowledge: Analysis of the Height Map Prior for Track Cycling †

Multi-Sensor Interactive Systems Group, University of Bremen, 28359 Bremen, Germany
*
Author to whom correspondence should be addressed.
This paper is an extension version of the conference paper: Koller, T.L.; Frese, U. State Observability through Prior Knowledge: Tracking Track Cyclers with Inertial Sensors. In Proceedings of the 2019 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Pisa, Italy, 30 September–3 October 2019.
Sensors 2020, 20(9), 2438; https://doi.org/10.3390/s20092438
Submission received: 30 March 2020 / Revised: 20 April 2020 / Accepted: 21 April 2020 / Published: 25 April 2020

Abstract

:
Inertial navigation systems suffer from unbounded errors in the position and orientation estimates. This drift can be corrected by applying prior knowledge, instead of using exteroceptive sensors. We want to show that the use of prior knowledge can yield full observability of the position and orientation. A previous study showed that track cyclers can be tracked drift-free with an IMU as the only sensor and the knowledge that the bike drives on the track. In this paper, we analyze the observability of the pose in the experiment we conducted. Furthermore, we improve the pose estimation of the previous study. The observability is analyzed by testing the weak observability criterion with a Jacobian rank test. The improved estimator is presented and evaluated on a dataset with three 60-round trials (10 km each). The average RMS is 1.08 m and the estimate is drift-free. The observability analysis reveals that the system can gain complete observability in the curves and observability of the orientation on the straight parts of the race track.

1. Introduction

For short time periods, the pose (position and orientation) of an object can be estimated with an inertial measurement unit (IMU). The pose is estimated by integrating the acceleration and angular rate measurements. This method accumulates the measurement errors of the IMU, wherefore the estimate drifts over time. The drift can be corrected by fusing the IMU with exteroceptive sensors; e.g., a global navigation satellite system (GNSS).
In indoor environments, GNSS is unavailable. Custom radio emitters or a building’s WiFi can be used instead [1]. Fusing with an external sensor seems essential. Surprisingly, several pedestrian tracking systems achieve drift-free estimates with an IMU alone [2,3,4]. The systems fuse IMU measurements with prior knowledge of the environment and specific gait motion dynamics, instead of using an additional sensor.
Fusing IMU measurements with prior knowledge is a powerful concept with which to gain drift-free estimates [5]. The knowledge allows one to observe otherwise unobservable states. These approaches have the advantage that they do not require additional sensor hardware in the buildings. Furthermore, most users already carry the necessary IMU in their smartphone [2].
Motivated by the success of prior knowledge in pedestrian tracking [2,6,7] and vehicle tracking [8,9,10] we conducted an experiment to track cyclists (see Figure 1) with an IMU as the only sensor [11]. The estimated trajectory was drift-free in three 20 min trials with an RMS of about 1.15 m. This paper extends the experimental work [11] with an observability analysis and an improved estimator with an RMS of about 1.08 m.
To achieve drift-free estimates, the IMU measurements were combined with two priors. The first is the wheeled vehicle constraint of [8], which we call the forward velocity prior. It states that a wheeled vehicle has approximately zero velocity perpendicular to its forward direction. This prior allows one to observe the forward velocity from IMU measurements if the vehicle is driving on a curve. Additionally, IMU biases are observable [12]. Since the bike track contained two 180° curves (see Figure 1), the velocity and biases became periodically observable with the prior.
The second prior is the height map prior, which states that the bikes have to stay on the track. Several works use maps to improve the state estimate. The map can have different forms; e.g., route maps [10,13,14] with the paths that can be taken or building plans [3] with impassable walls. With a terrain map, a vehicle can be localized without a GNSS [9]. Similarly, the track of the race (see Figure 1) can be modeled as a height or terrain map. In contrast to the forward velocity prior, the observability with a map prior is unknown.
The focus of this extended version is to analyze whether or not the proposed system can observe the full pose of the bike. Thus, we analyze the observability properties of map priors in conjunction with the forward velocity prior. The goal of the analysis is to understand the error behavior of the system and to evaluate the qualification of the system to track the track cycler.
Informally, we mean by observable that the pose estimate does not drift away from the real pose. This is important in practice, since applications such as visualization of a race require low errors of pose estimates. While the error bounds may be evaluated by excessive experiments, an analytical analysis of the observability reveals weak spots of the measurement system. This allows one to specifically test error cases of the system and to predict the overall error behavior.
The contribution of this extended paper is the observability analysis of the height map prior for wheeled vehicles. Different surface types are analyzed to reflect the two major parts of the race track, the curves and the straight parts. In addition, an improved version of the original trajectory estimator [11] is presented, which takes account of the bike dynamics [15]. The estimator is evaluated on the original dataset.

2. Materials and Methods

2.1. Knowledge-Based Optimization Problem for Estimation

In track cycling, bikers race on a track. There are several game modes with varying strategies [16]. In our setup, the bikes are equipped with wireless IMUs, as shown in Figure 2.
The trajectory is estimated by finding the trajectory with the maximum a-posteriori probability given the measurements of the main frame IMU, the dynamic model and the prior knowledge. We formulate the state estimation as a minimization problem and solve it by using the ceres least squares solver [17]. The solver works offline and optimizes the whole problem at once.
The trajectory can be modeled as a sequence of n states x k , 0 < k n (see Figure 3) connected by the dynamic model:
x k + 1 = g k ( x k )
Instead of using the IMU input for the dynamic update, the state does contain every bit of information needed for the dynamic model. The inputs are used as a constraint on the respective state. The prior knowledge constrains every state of the trial.
Each state x k consists of the position p W , velocity v W and acceleration a W in world frame; the rotation from body to world Q W B , the angular rate ω B and acceleration ω B ; and two-part biases of the accelerometer b a = b a 1 + b a 2 and the gyrometer b ω = b ω 1 + b ω 2 . The biases are modeled as the sums of two biases following the model in [18], which claims to be more precise than the standard bias model. The components always refer to x k , wherefore we can omit the k-indices for readability:
x k = p W v W a W Q W B ω B ω B b a 1 b a 2 b ω 1 b ω 2 T
The orientation Q W B is modeled as an Euler–Rodriguez rotation matrix. Usually, the acceleration and angular rate are modeled as inputs instead of states. We chose to add them to the state to apply prior knowledge to them. Originally, we defined the point on the ground under the main frame IMU as the body frame (see Figure 2), instead of the IMU pose, because the chosen prior knowledge does not hold for the IMU pose. Taking the bike dynamics into account [15], the forward velocity prior does only hold at the center of the rear wheel. At other points, side velocities appear when the bike drives a curve. Thus, we changed the body frame to the position on the ground under the center of the rear wheel.
The complete parameter space X of the optimization problem consists of the states at all steps:
X = { x 1 , , x n }
We want to find the most likely sequence of states given the inputs a c k and g y k , the input functions a k ( x k ) and ω k ( x k ) , the dynamic model g k ( x k ) and our prior knowledge; i.e., the height map h k ( x k ) and the forward velocity prior f v k ( x k ) . This can be calculated by solving the minimization problem:
X ^ = arg   min X k = 1 n | | ω k ( x k ) g y k | | Σ g y 2 gyrometer input + | | a k ( x k ) a c k | | Σ a c 2 accelerometer input + | | g k ( x k ) x k + 1 | | Σ g 2 dynamic model + | | f v k ( x k ) | | Σ f v 2 forward velocity prior + | | h k ( x k ) | | Σ h 2 heightmap prior
where | | v v ^ | | Σ 2 is the Mahalanobis distance. The ⊟ is a normal minus operation, despite the fact that—for rotation matrices—it returns the difference as a rotation vector; i.e., a unit axis scaled by an angle [19]:
x x = { p W p W , , log ( Q W B T Q W B ) , ω B ω B , }
Its purpose is to handle the manifold structure of Q W B as proposed in [19].
The minimization problem is formulated by simply adding up information about the states. The first pool of information added is the gyrometer input at each time step. Each state has to match the measured angular rate. With ω k ( x k ) , we calculate a prediction of the angular rate and compare it with the measurement. By imposing the difference of the prediction and the measurement as an error, the optimizer will adapt each state x k until the prediction and the measurement coincide as good as possible. This is similar to the measurement step in a Kalman filter.
The prediction of the angular rate can be calculated by:
ω k ( x k ) = Q I B ω B + b ω
where the calibrated rotation matrix Q I B transforms ω B from body to IMU frame. The ∗ denotes matrix multiplication.
The second piece of information that we have about the states is the accelerometer input. Similar to the gyrometer input, the predicted accelerations a k ( x k ) and the acceleration measurements a c k have to match. Since the IMU is not at the origin of the body frame, the IMU measures accelerations induced by rotational movements. Additionally, the acceleration in the state is gravity free. Those accelerations are taken into account by the prediction function:
a k ( x k ) = Q I B ( Q W B ) T ( a W g W ) + Q I B ( ω B × + ω B × 2 ) t I + b a
where g W is the gravity vector and × forms a skew symmetric matrix out of the given vector. t I is the calibrated offset between IMU and body frame.
The dynamic model g k ( x k ) connects the states x k and x k + 1 over time. The predicted next state g k ( x k ) has to match the next state x k + 1 . The dynamic model is based on the classic inertial navigation system (INS) state space model (Section 3.7.1 of [20]):
g k ( x k ) = p W + Δ t · v W + Δ t 2 2 · a W v w + Δ t · a W a W Q W B exp ( Δ t · ω B ) ω B + Δ t · ω B ω B b a 1 · ( 1 Δ t T c o r 1 ) b a 2 · ( 1 Δ t T c o r 2 ) b ω 1 b ω 2 · ( 1 Δ t T c o r 3 ) T c o r 1 = 1000 s , T c o r 2 = T c o r 3 = 2000 s
where Δ t is the time difference. The accelerometer bias is modeled as the sum of two exponential auto correlated random walk functions with decorrelation constants T c o r 1 and T c o r 2 . The gyrometer bias is modeled as the sum of a constant and an exponential auto correlated random walk function with decorrelation constant T c o r 3 . exp ( ) is the Euler–Rodriguez Formula [19]. Cartesian and angular acceleration stay constant in the dynamic model, but do not contribute to the error calculation.
In contrast to the other information, the prior knowledge sources do not have a measurement to compare. However, prior knowledge often has a target value which is either constant or state-dependent itself. For example, the forward velocity prior can be formulated as [8]:
f v k ( x k ) = ( Q W B ) T v W 0 0 = 0 1 0 0 0 1 ( Q W B ) T v W
where the target for the y and z dimensions of the body velocity is 0. The asterisk is a wildcard, which allows arbitrary velocity in forward direction. If a measurement of the x dimension is available, e.g., by odometry, it can be used instead. In our model, the x dimension is unused.
The height-map prior states that the wheels of the bike stay at the track. We impose this constraint on the rear wheel only. This means that the distance between the position p W and the closest point on the track has to be 0, or otherwise stated:
h k ( x k ) = p W arg   min c W T r a c k p W c W
where T r a c k is the set of all points on the track. In this case, the prediction p W is trivial but the target value is state dependent.
In this manner, additional information can be added simply by adding it to (4). The optimizer will incorporate it weighted by the covariance of the information.
The covariances are crucial tuning parameters of the model. Neither the forward velocity prior, nor the height-map prior hold exactly. Side slip can occur, which results in a side velocity. The height map itself is imperfect. Furthermore, the bike may bounce on surface irregularities. Those imprecisions of the knowledge are modeled in the covariance of the measurement equations. If the knowledge is violated more than expected, the estimator’s performance will be reduced.

2.1.1. Initial Guess

The convergence of a least squares solver depends on the initial guess of the states. Especially in the presence of state dependent constraints, the solver may stay in unsuitable local minima. We designed a method based on prior knowledge to provide an initial guess for the least squares solver. This method is again based on another, but more simple model.
The initial guess method exploits the basic form of the track. In principle, the track consists of two straight lines connected with two curves (see Figure 4). As a vague model of the track, we assume that the bikers follow the 1D line. This model requires big noise in lateral direction and for orientation. However, the error of the 1D model is bounded. In lateral direction, the bikers are forced to stay on the track, which has a width of 6 m. Hence, they can not drive far away from the 1D line. Their yaw is also constrained to follow the 1D track approximately, because they have to take the track counter clockwise.
The 1D formulation of the track has the advantage that we can apply Theorem 1 from [5], which states that a 1D system is observable from gyrometer measurements alone if the rotation axis changes. At the entries and exits of the curves, the rotation axis changes. Hence, they can be detected.
Between the entries and exits of the curves, dead reckoning is required. To reduce the drift, we can apply the forward velocity prior [8]. It makes the forward velocity observable. Hence, it can be estimated drift-free.
The initial guess is calculated by an unscented Kalman filter (UKF). Each state x k consists of:
x k = λ λ ˙ Q W B ω B v W a W T
where λ is the position on the 1D line, λ ˙ the speed on the line and the rest is defined as in (2). The dynamic model is similar defined as Equation (8) by:
g ( x k ) = λ + Δ t · λ ˙ λ ˙ Q W B exp ( Δ t · ω B ) ω B v W + Δ t · a W a W
We formulated the main model by taking the difference of the measurement and a prediction function of the measurement as error. The same prediction function can be used in the measurement step of the UKF to apply the same information. In the case of prior knowledge, 0 is used as the target value. This is called a pseudo measurement [21]. In this manner, Equations (6) and (7) are used to incorporate the IMU measurements. Equation (9) is used to apply the forward velocity prior.
In the 1D model, the bike follows the line only. Hence, we have to set λ ˙ to the norm of the velocity. This is done as a perfect measurement using the prediction function:
λ ˙ p ( x k ) = v W λ ˙
Since the biker has to follow the track’s direction, the angular rate has to be the direction change of the track approximately. In other words, the biker is likely to be in a curve if the gyrometer measures a nonzero angular rate. The prediction function is:
ω p ( x k ) = ω B C ( λ ) · λ ˙
where C ( λ ) is a function which returns the curvature of the 1D line at a given λ . This prior allows one to observe the entry and exit points of the curves.
The UKF evaluates the probability distribution at different sigma points. If the covariance of the filter is underestimated, i.e., the UKF is too confident in the estimate, the distribution is evaluated poorly. Therefore, we apply high process noise, which allows the filter to correct implausible estimates. The high process noise models the vagueness of the 1D model.
The pseudo measurements are only useful on the curves of the track. During the straight parts, dead reckoning is performed implicitly. As a result, the covariance rises quickly on the straight segments and is low when the biker drives a curve. Hence, the estimate jumps whenever the bike enters a curve. The estimate jumps are smoothed with the unscented Rauch–Tung–Striebel smoother [22].

2.1.2. Implementation Details

The main model has been implemented in ceres-solver, an extensive nonlinear least squares library [17]. It provides an automatic differentiation framework, which simplifies the use of nonlinear constraints; e.g., the prior knowledge. The local parameterization of ceres is used to adapt the rotation matrices without breaking them. Additionally, the rotation matrices are normalized every iteration.
Inputs, the dynamic model and the prior knowledge are implemented as cost functions. The covariances for the Mahalanobis distances are shown in Table A1 (initial guess) and Table A2 (main model) in Appendix A.
To calculate the penalty for leaving the track, the closest point on the track is required. We approximate the closest point by taking the closest point on the x-y plane; i.e.:
h k ( x k ) p W arg   min c W T r a c k 1 0 0 0 1 0 ( p W c W )
This enables us to precalculate the closest point for any x-y pair in a rectangle around the track and to store it in a 2D grid. Values between grid points are interpolated with a cubic spline using the algorithm of [23], which is already implemented in ceres. The smooth interpolation improves the gradient descent. Values outside the precalculated rectangle are extrapolated by taking the closest border point.
Since least square optimizers are sensitive to outliers, measurements exorbitantly outside the sensor range were removed from the dataset. They are treated as missing measurements. Missing measurements in the data are handled by assuming that they were 0 and drastically increasing the noise of each measurement. This allows the estimator to estimate the acceleration without allowing irregularly high accelerations. For further details, the complete implementation is available at GitHub (https://github.com/TomLKoller/ZaVI_TrackCycling).

2.2. Dataset

We recorded the dataset (Download at: http://www.informatik.uni-bremen.de/agebv/zavi.) at the track of the Sixdays Bremen (see Figure 1), an annual track cycling race. The track has a nominal length of 166.66 m and a width of 6 m. A height map (see Figure 5) was built based on the blueprints by [24].
We equipped the bike with four Xsens Awinda IMUs [25] at different links (see Figure 2). The placement was meant to allow us to estimate the joint angles of the bike using [26]. The crank IMU could be used to estimate the bike’s velocity via wheel turn odometry. The sensors were connected wirelessly and measure at 100 Hz. They buffer the sensor data for 10 s during connection losses. Still, around 5% of the measurements were lost due to a broken antenna.
The bikes were also equipped with turn rate sensors to measure velocity as a reference for the bikers only.
A tracking system that covers the complete track was not available. Thus, we used laser barriers to measure when the bikes passed a certain position.
We used six custom built laser barriers as the ground truth references. They triggered at 1024 Hz. The barriers were placed at the entries and exits of the curves (see Figure 5). Two barriers were perpendicular to the track. The other four were arranged in two crosses. In each trial, one laser barrier failed to record data.
The moment when the bike’s center line (see Figure 2) passes the laser barrier is used as the ground truth measurement. It is calculated as the center of the detected interval in each round. We approximate that this method has a random error around 5 ms. With a constant velocity assumption, the lateral position could be calculated at the crosses. With the known length of the bikes, the velocity could be estimated from the time the biker needs to pass each laser barrier.
The barrier clocks (2 ppm error) and the IMU base station (1 ppm error) were synchronized before each trial. The accumulated time error after each trial is negligible.
The alignment of the barriers with the 3D model is imperfect. Thus, an unknown bias of a few centimeters is introduced.
Two bikers participated in data recording using their own bikes. The dataset consists of two trials with Biker 1 and one with Biker 2. The bikers were instructed to ride in this sequence:
  • Ride on the 166.66 m reference line.
  • Stay in the 0.7 m corridor above the reference line.
  • Stay in the lower track half.
  • Use the whole track.
  • Repeat (2) with constant velocity.
  • Repeat (3) with constant velocity.
  • Ride as you like.
All tasks except (7) were executed for 10 rounds. That resulted in a driving distance of at least 10 km per trial and a driving time of approximately 20 min. The tasks could be used to test the use of prior knowledge of varying strength, such as corridor width information.
In addition, calibration motions were recorded for both bikes. These were used to calibrate the position t I and orientation Q I B of the IMUs with respect to the body frame.

2.3. Observability Criteria

A systems state is observable if it can be determined uniquely in a given interval [ t 0 , t e n d ] given the observed output measurements z of the interval [27]. It is not required that the state is measured directly. The observability of nonlinear systems can be analyzed using the observability Grammian [12,28]. In general, the analysis is performed without taking noise into account.
We decided to use the weak observability of [29], which is based on the inverse function theorem. Any function can be locally inverted if its Jacobian is nonsingular; i.e., if it has full rank. A system is called weakly observable if the Jacobian of its measurement equations has full rank. Weakly observable means that the state can be determined uniquely around a working point. For example, given the sine output y ( x ) = s i n ( x ) , x is only weakly observable since the inversion y 1 ( y ( x ) ) is ambiguous. The value of x is only unique if the region of x; e.g., x [ π , π ] is given. In contrast, global observability means that the state can be determined everywhere in the possible state space. In practice, local observability is easier to prove, since it resolves in a Jacobian rank test.
The method requires measurement equations Z that depend on the N unknown states x 1 x N and the M known, possibly time varying parameters y 1 y M . One measurement equation is required per unknown state. If there are less than N measurement equations available, further equations can be generated by derivation. Thus, if only one measurement equation z is available, N 1 derivatives have to be used. The Jacobian is formed with respect to the unknown states only:
J = z x 1 z x N z ( N 1 ) x 1 z ( N 1 ) x N
The system is weakly observable around a configuration x 1 x N , y 1 y M if this Jacobian has full rank; i.e., if the determinant is nonzero. Another way to test the rank is to check linear independency of the rows or columns. Similarly to the observability Grammian, the unobservable substate is the nullspace of the Jacobian. Hence, a rank defect does not mean that all states are unobservable. The system remains with N rank ( J ) unobservable degrees of freedom (DOFs).
In this paper, we depend on former observability proofs [12] which make F states x K : N ( K = N F + 1 ) observable. Consequently, we can treat them as known parameters without having columns for them in the Jacobian, since their observability has been proven. To see that this is correct, consider the following: The measurement equations used depend on x K : N . If we were to add them and their corresponding measurement equations Z to the Jacobian, we would get a block shaped Jacobian of the form:
J = J Z x K : N 0 F : N Z x K : N
where 0 F : N is a F × N matrix of zeros. Due to the block shape, J has full rank, if J and Z x K : N have full rank. Since the states x K : N are observable, Z x K : N has full rank. Hence, only the rank of J determines the observability of the unknown states.

3. Results of the Track Cycling Experiment

The trials are evaluated using the measurements of the main frame IMU. The laser barriers are only used as ground truth. The estimated trajectories stay on the track (see Figure 6).
Since we do not have continuous ground truth position, we evaluate the error indirectly. We predict when the center line of the bike passes the laser barriers and compare the prediction with the measurement (see Figure 6). Table 1 shows error metrics. To transfer the time error into a position error, multiply it by the highest velocity of the trial (∼12 m/s).
The estimator predicts passing the laser barrier with an average RMS of 0.090 s. The prediction error does not increase over time, but it has a random component. Since it does not increase, the estimate error is drift-free. It performs better than the previous estimator [11], which had an RMS of 0.096 s.
High time errors occur often at the first and last rounds (see Figure 6). Since we did not apply a start or end position constraint on the state estimate, the end and start point are less constrained than a point in the middle of the trial. Therefore, the error can be higher at those points. Additionally, the bikes are slower at the the start and end (roll out), which increases the dead reckoning time between the curves.
In Trial 3, the end point almost leaves the track. This is an additional hint that the constraints are weaker at end points.
The standard deviations are lower than the RMS. Thus, the estimate is biased. To have a measure of the bias, the mean error is used. The highest mean error is −0.176 s. In most cases, the bias is almost equal to the mean absolute error. Hence, it has a big impact on the quality of the estimate.
The average standard deviation decreased from 0.077 to 0.048 s compared to the previous estimator [11]. Hence, the precision of the estimator has greatly increased by changing the body frame.
The biases are negative for all trials and barriers. They stay similar over the trials. Barrier 1 has a outstanding high bias error. In our previous study, we claimed that the biases are caused by the prior knowledge [11]. Probably, they were caused by the old body frame position which falsifies the forward velocity prior. Now, the improved estimator reveals that the bias is likely to be systematic. Higher than expected alignment errors between the height map and the laser barriers may be a source of the bias.
In addition to the laser barriers, a video analysis has been performed for Trial 1. The estimated position of the bike is reprojected onto the video. This method is unsuitable for quantitative findings, but qualitative statements can be taken. It appears that the lateral error of the tracking (the error in the direction of the track) does increase at the straight parts in contrast to the curves.
Overall, the estimates are surprisingly close to the ground truth data, given that there is no exteroceptive sensor. The drift is corrected by the used prior knowledge. The average RMS of 0.090 s (∼1.08 m) is low and comparable to the accuracy of pedestrian tracking systems without dedicated external hardware [1,7]. The error has a few high peaks, which would affect an application. At the current state, the method cannot compete in accuracy with off-the-shelf indoor GNSS systems with ±2 cm error [30]. Nevertheless, we consider our results a successful tracking of the biker, which does not require external reference sensors.

4. Results of the Observability Analysis

The analysis of the observability properties is not straightforward. It is split into multiple steps (see Figure 7). It is already proven [12] that the body velocity v b , the roll φ and the pitch θ are observable with the forward velocity prior, if the vehicle drives on a curve. The same holds for the biases. These allow one to infer additional information, such as the yaw rate ψ . Based on the known states, the measurement equation z , which allows one to analyze the height-map prior, is inferred in Section 4.1. The height-map prior is analyzed for three surface types: tilted planes, cones and cone-like surfaces. The tilted planes and cone-like surfaces appear in the track of the Sixdays. It will be shown that driving curves on a tilted plane makes the yaw observable (Section 4.2), whereas driving on a cone-like surface can make the full state observable (Section 4.4 and Section 4.5). The analysis of the cone (Section 4.3) is performed as a specific case of the general cone-like surfaces. Additionally, the observability of general surfaces is analyzed for a given yaw (Section 4.6).

4.1. Measurement Equation of the Height-Map Prior

To apply the observability criterion of [29] the unknown DOFs have to be identified. The ultimate goal is to observe the 3D pose (position p and orientation q) of the tracked bike. The analysis is performed on the general motion model instead of the discretized model in Section 2.1:
p ˙ W v ˙ W Q ˙ W B = v W a W Q W B [ ω B ] × ,
where [ ω B ] × is the skew symmetric matrix of ω B . The body velocity is constrained to lay in forward direction; i.e.:
v b = v f 0 0 ,
where v f is the forward velocity. With this forward velocity prior [8], observability of the roll φ and pitch θ is already achieved when the bike drives on a curve. Additionally, IMU biases and the forward velocity become observable. Hence, the four DOFs of the position and the yaw ψ are unknown. From now on, all observability proofs are valid only if the bike drives a curve, since this is required for the observability induced by the forward velocity prior.
The position is constrained to lay on the track. Thus, we can define a function z ( x , y ) which maps x , y coordinates to the corresponding height as in [31]. This further reduces the number of unknown DOFs to three, because z can be calculated if x and y are known.
Possibly, the three unknown DOFs are observable through the height-map prior. Therefore, we designed our measurement equation based on the height function z ( x , y ) . The height function can not be used as the measurement equation directly, since no measurement of the height z is available. Instead, its derivative is used. The value of z ˙ ( t ) can be calculated from the known pitch and forward velocity. We omit the function parameter ( t ) on the right side of the equations for simplicity:
z ˙ ( t ) = R z ( ψ ) R y ( θ ) R x ( φ ) v f 0 0 z = R z ( ψ ) R y ( θ ) v f 0 0 z = R y ( θ ) v f 0 0 z ,
where R v ( α ) creates a matrix which rotates a around the axis v by angle α . ( ) z retrieves the z component of a 3D vector. The yaw rotation has no influence, since we only retrieve the z-component. Thus, we can further reduce to:
z ˙ ( t ) = v f · sin ( θ )
The measurement model is then simply the derivative of z ( x , y ) :
z ˙ ( t ) = z ˙ ( x , y ) = z ( x , y ) x · x ˙ + z ( x , y ) y · y ˙
This introduces the two unknown functions x ˙ and y ˙ which are the world x-velocity v x and y-velocity v y respectively. These functions can be modeled with respect to the yaw and the planar velocity v p ( the velocity in the x-y plane):
v x v y = v p · cos ( ψ ) sin ( ψ )
The planar velocity itself can be retrieved from the forward velocity and the pitch:
v p = | v x : y | = R z ( ψ ) R y ( θ ) v f 0 0 x : y = R y ( θ ) v f 0 0 x : y
Since we use the norm of the v x : y vector it is independent of the yaw and can be further reduced to:
v p = v f · cos ( θ )
With those substitutions, the measurement equation only depends on known parameters and the three unknown states x, y and yaw:
z ˙ ( t ) = z ˙ ( x , y , ψ ) = z ( x , y ) x · v p cos ( ψ ) + z ( x , y ) y · v p sin ( ψ )
This measurement equation effectively states that the vehicle has to stay on the surface. To clarify this, the equation can be reformed with respect to the surface normals. The surface normal can be calculated by:
N ( x , y ) = z ( x , y ) x z ( x , y ) y 1
Rearranging the measurement equation yields:
0 = z ( x , y ) x · v x + z ( x , y ) y · v y 1 · z ˙
This equation can be expressed by the dot product of the normal and the velocity vector with z ˙ = v z :
0 = N ( x , y ) v ( t )
Thus, the equation effectively states that the velocity vector has to be orthogonal to the surface normal, wherefore the trajectory cannot leave the surface.
The pose trajectory is effectively a 3D curve. It is often useful to define such a curve with regard to its arc length so that the norm of the derivative is one, which would equal:
v z ( l ) 2 + v p ( l ) 2 = 1
where l is the arc length. In our case, it is more useful to parametrize the curve with regard to the planar distance traveled s so that:
v p ( s ) = 1
Following [32], the curve can be parametrized with respect to the planar traveled distance s since s t = v p ( t ) 0 (we assume that we always have a planar motion).
Reparametrizing the measurement model is simple, but it is required that we are able to calculate the measurement value z ( s ) s = z ( s ) on the left hand side of the measurement equation.
We parametrize t with respect to the planar distance traveled as t ( s ) . Now we get the equation:
z ( s ) = z ( t ( s ) ) s = z ( t ( s ) ) t · t ( s ) s
z ( t ( s ) ) t is the known time derivative of z. Hence, only t ( s ) s is required to calculate the value of z ( s ) . Calculating the derivative of the position with respect to s yields:
p ( t ( s ) ) s = p ( t ( s ) ) t · t ( s ) s
Calculating v p ( s ) as the norm of the x and y derivative we get:
v p ( s ) = p ( t ( s ) ) t x 2 + p ( t ( s ) ) t y 2 · t ( s ) s = v x ( t ( s ) ) 2 + v y ( t ( s ) ) 2 · t ( s ) s
Using (31) and rearranging yields:
t ( s ) s = 1 v x ( t ( s ) ) 2 + v y ( t ( s ) ) 2
The value of v x ( t ( s ) ) 2 + v y ( t ( s ) ) 2 is the planar velocity v p ( t ) in time space. Hence, we can calculate the value of z ( s ) from our measurements, which allows the reparameterization with respect to s.
The reparameterization yields the new measurement equation:
z ( s ) = z ( x ( s ) , y ( s ) , ψ ( s ) ) = z ( x , y ) x · cos ( ψ ) + z ( x , y ) y · sin ( ψ )
Since three states are unknown, three equations are required, which we retrieve by further differentiation:
z = z x · cos ( ψ ) + z y · sin ( ψ ) + z ψ · ψ
z = z x · cos ( ψ ) + z y · sin ( ψ ) + z ψ · ψ + z ψ · ψ
The two new variables ψ and ψ appear in the measurement equations. However, these are known since ψ can be calculated from the gyrometer measurements similarly to (20):
ψ ( s ) = R y ( θ ) R x ( φ ) ω z
where ω is the angular rate measurement of the gyrometer. The roll φ can not be ignored, since ω can be nonzero in its x and y directions. ψ is automatically available as the derivative of ψ .
To analyze the observability of the system, the rank of the Jacobian J with respect to the unknown states has to be retrieved:
rank J = rank z x z y z ψ z x z y z ψ z x z y z ψ
The rank of the Jacobian highly depends on the surface function z ( x , y ) . Hence, it is difficult to find general statements about the observability conditions. Instead, we perform the analysis for typical surfaces that appear in the race track, to shed light on the overall situation. The two surfaces that appear are tilted planes and cone-like surfaces.

4.2. Analysis of Planar Surfaces

Horizontal planar surfaces (see Figure 8a) are the most simple surfaces a vehicle can drive on. The height of a vehicle driving on these surfaces is constant as used in [33]. While driving on these surfaces makes the z position observable (since it is constant), it does not give any information on the other three states. z ( x , y ) is constant for a horizontal planar surface. Thus, all its derivatives are zero, wherefore all entries of J are 0.
Tilted planar surfaces (see Figure 8b) are more interesting. Tilted surfaces can be represented without loss of generality with:
z ( x , y ) = a · y , a R { 0 } ,
by rotating the coordinate system accordingly. The measurement equations collapse to:
z ( s ) = a · sin ( ψ )
z ( s ) = a · cos ( ψ ) ψ
z ( s ) = a · cos ( ψ ) ψ sin ( ψ ) ψ 2
Theorem 1.
The yaw ψ of a vehicle driving on a tilted planar surface is observable if it drives a curve.
Proof. 
The measurement Jacobian for a tilted planar surface is:
J = 0 0 a · cos ( ψ ) 0 0 a · sin ( ψ ) ψ 0 0 a sin ( ψ ) ψ + cos ( ψ ) ψ 2
The rank of this matrix is always one except if ψ π / 2 + Z π and ψ = ψ = 0 , which means following the direction vector d in Figure 8b permanently. This can not happen, if the vehicle drives a curve. The null space null ( J ) of the matrix is:
v null ( J ) J v = 0 v = x y 0 , x , y R
Thus, the yaw is observable. □
In practice, one may retrieve the yaw with the following equation:
ψ = atan 2 z ( s ) ψ , z ( s ) = atan 2 a · cos ( ψ ) , a · sin ( ψ ) if ψ 0 atan 2 z ( s ) ψ , z ( s ) = atan 2 a · cos ( ψ ) , a · sin ( ψ ) if ψ = 0 , ψ 0
Since x and y do not appear in the measurement equations (and all further derivatives), they are unobservable from the height-map prior.

4.3. Analysis of Cone Surfaces

A general cone (see Figure 9a) can be represented by:
z ( x , y ) = r ( x , y ) · m , m > 0 ,
where r ( x , y ) is the planar distance to the center point and m is the inclination of the cone. Since cones are bodys of rotation, it is useful to use polar coordinates instead of Cartesian coordinates to analyze the cone using the substitutions:
x ( s ) = r cos ( ϕ )
y ( s ) = r sin ( ϕ )
where ϕ is the angle between the vector x ( s ) y ( s ) and the x axis.
The derivatives r and ϕ can be calculated as follows:
r ( s ) = x 2 + y 2
r ( s ) = x x x 2 + y 2 + y y x 2 + y 2
Using (23) with (31) yields:
r ( s ) = r cos ( ϕ ) cos ( ψ ) + r sin ( ϕ ) sin ( ψ ) r ( 53 ) = cos ( ϕ ψ ) ( 54 )
Similarly for ϕ ( s ) :
ϕ ( s ) = atan ( y / x )
ϕ ( s ) = x y x 2 + y 2 y x r 2 + y 2 ( 56 ) = r cos ( ϕ ) sin ( ψ ) r 2 r sin ( ϕ ) cos ( ψ ) r 2 ( 57 ) = sin ( ϕ ψ ) r ( 58 )
The measurement equation of the general cone follows:
z ( s ) = r · m = cos ( ϕ ψ ) · m
Since a general cone is symmetric in the rotation around its center, it is impossible to observe either ϕ or ψ . Instead, only the difference of the two angles δ = ϕ ψ can be observed. δ represents the angle of the vehicle direction d v in relation to the maximum inclination direction d i at the current position of the vehicle (see Figure 9a).
The distance to the cone center r does not appear in the measurement equation. But it appears in the derivative:
z ( s ) = z d ϕ · ϕ + z d ψ · ψ ( 60 ) = m · sin ( ϕ ψ ) 2 r + sin ( ϕ ψ ) ψ ( 61 )
Hence, we can retrieve information about r and δ from the measurement.
Theorem 2.
The relative angle δ and the planar distance to the cones center r of a vehicle driving on a general cone surface are observable unless the vehicle drives parallel to the direction of maximum inclination.
Proof. 
We substitute δ = ϕ ψ into the measurement equations:
z ( s ) = cos ( δ ) · m
z ( s ) = m · sin ( δ ) 2 r + sin ( δ ) ψ
The Jacobian of z ( s ) and z ( s ) with respect to the two unknown states δ and r is:
J = sin ( δ ) · m 0 m · 2 sin ( δ ) cos ( δ ) r + cos ( δ ) ψ m · sin ( δ ) 2 r 2
J has full rank if its determinant is nonzero. Hence, r and δ are observable unless the determinant is zero:
| J | = m 2 · sin ( δ ) 3 r 2 = 0
Thus, the Jacobian is not full ranked if sin ( δ ) = 0 ; i.e.:
δ Z π
Equation (66) only holds if the vehicle travels in the direction of the maximum inclination d i or in the exact opposite. Thus, the Jacobian has full rank and implies observability of r and δ if the travel direction is not parallel to the direction of maximum inclination. □

4.4. Analysis of Cone-Like Surfaces

The curves of the Sixdays track are not cone shaped. The inclination m of the curves is not constant, but changes depending on the angle ϕ . We call such a surface a cone-like surface (see Figure 9b).
Definition 1.
A cone-like surface is a surface which height function can be stated as:
z ( r , ϕ ) = ( r r 0 ) · m ( ϕ ) ,
where r > 0 is the distance to the cone center, r 0 > 0 and m ( ϕ ) > 0 is the inclination function.
The parameter r 0 represents the radius at which the cone-like surface has 0 height. At this height, an x-y cut of the surface shows a perfect circle with radius r 0 .
The dependency of m on ϕ complicates the analysis of the observability. Since ϕ appears without ψ , three equations are required. The base measurement equation changes to:
z ( s ) = r · m ( ϕ ) + ( r r 0 ) · m ( ϕ ) ϕ = cos ( ϕ ψ ) · m ( ϕ ) ( 1 r 0 r ) · m ( ϕ ) sin ( ϕ ψ )
The two derivatives can be found in Appendix B. Due to the complexity of the equations, only specific maneuvers can be analyzed reasonable, as it was done in [34]. It is important to note that in our case we do not know which maneuver is taken by the biker. Therefore, it is not allowed to simplify the measurement equations with the maneuver. The conditions of the maneuvers have to be substituted into the Jacobian instead. The MATLAB symbolic toolbox [35] has been used to handle the analysis of the observability (Matlab scripts available at: https://github.com/TomLKoller/ZaVI_TrackCycling/tree/master/MatlabProofs).
Theorem 3.
The angle ϕ of a vehicle driving on a cone-like surface is unobservable if the vehicle stays at a constant planar distance r = r 0 to the center.
Proof. 
Staying at a constant r implies that r = 0 , with (54):
0 = r ( s ) = cos ( ϕ ψ )
ψ = ϕ + π 2 + Z π
Now using the derivative of ψ :
ψ ( s ) = ϕ = sin ( ϕ ψ ) r = sin ( π / 2 ) r = 1 r
Since r is constant ψ and ϕ are also constant.
ψ = ϕ = 0
Before we calculate the Jacobian of the system, we substitute δ = ϕ ψ so that we can calculate the Jacobian with respect to ϕ , r and δ . The value of δ follows from the value of ψ :
δ = ϕ ψ = π 2
Now, we substitute the values of δ , ψ , ψ and r into the observability Jacobian derived from the measurement equations (Appendix B):
J = 0 m ϕ r 0 m ϕ 0 m ϕ r 0 2 m ϕ r 0 2 2 m ϕ r 0 0 m ϕ r 0 3 3 m ϕ r 0 3 3 m ϕ r 0 2 m ϕ r 0 2
Column 1 is the 0-vector, which means that the Jacobian is rank deficient. Since the system is nonlinear, additional derivatives of the measurement equation may yield nonzero elements in the first column. The first column corresponds to the change of the measurement equation in the direction of ϕ . Since the measurement equation is 0 for every ϕ given that r = r 0 , there can not be any nonzero entry. Thus, ϕ is completely unobservable from the height-map prior. □
The remaining unknown DOFs δ and r are observable, as long as the second and third column of the Jacobian are linearly independent.

4.5. Numerical Analysis of the Sixdays Track

Analysing the observability on cone-like surfaces beyond Theorem 3 is astonishing complex. The only possible way for us to retrieve meaningful statements about the observability was to calculate the determinants of the Jacobian numerically.
For numeric analysis, the inclination function m ( ϕ ) of the Sixdays track’s curves has been derived from the 3D model. The inclinations per angle ϕ were retrieved by least squares minimization and a fourth order polynomial was fitted onto the inclinations (see Figure 10):
m ( ϕ ) = 0.0227 ϕ 4 + 0.133 ϕ 3 0.3351 ϕ 2 + 0.4124 ϕ + 0.5775
r 0 has been set to 10 m.
Figure 11 shows the determinants of trajectories with constant radius r. The determinants are greater 0 for every r > r 0 . Hence, the pose is completely observable for every movement on a constant radius with r > r 0 .
Intuitively, we interpret the magnitude of the determinant as an indicator for the degree of observability. The magnitude increases with increasing radius. Hence, the pose is better observable if the biker is driving on the outer line of the track. The determinant decreases around ϕ = π 2 . At this point, the inclination function is almost flat, wherefore it is almost a general cone around the middle of the curve.

4.6. Analysis with Known Orientation

In many applications the yaw is observable. For example, the magnetometer of the IMU can be used to measure the yaw if the magnetic field is sufficiently stable [36]. According to Theorem 1, the yaw gets observable if the vehicle drives a curve on a tilted planar surface. Even in cases where the yaw is unobservable, it has only a small error for short time periods of gyrometer integration. Hence, it is worthwhile to analyze the impact of a known yaw on the observability.
At a general cone surface the known yaw gives full observability since r and δ are observable anyway. The missing angle ϕ can be calculated by:
ϕ = ψ + δ
Theorem 4.
If the yaw of a vehicle driving on a surface is known, the system is unobservable only if the gradients of of all derivatives of z ( s ) have the same direction.
Proof. 
Since the yaw is known, only x and y are the unknown states. Since the system is nonlinear, we have to form the Jacobian from all derivatives of z ( s ) to prove that a state is unobservable. The resulting Jacobian for general surfaces is:
J = z ( 1 ) ( s ) x z ( 1 ) ( s ) y z ( K ) ( s ) x z ( K ) ( s ) y , K =
The system is unobservable if rank ( J ) < 2 , which is the case if all submatrices J i j formed by taking two different nonzero rows i , j of J have a zero determinant:
| J i j | = z ( i ) ( s ) x · z ( j ) ( s ) y z ( i ) ( s ) y · z ( j ) ( s ) x = 0
Rearranging yields:
z ( i ) ( s ) x z ( i ) ( s ) y = z ( j ) ( s ) x z ( j ) ( s ) y
The gradients can be parametrized with respect to the direction of the gradients α i and α j so that:
z ( i ) ( s ) x = | z ( i ) ( s ) | cos ( α i )
z ( i ) ( s ) y = | z ( i ) ( s ) | sin ( α i )
z ( j ) ( s ) x = | z ( j ) ( s ) | cos ( α j )
z ( j ) ( s ) y = | z ( j ) ( s ) | sin ( α j )
where | z ( i ) ( s ) | and | z ( j ) ( s ) | are the norms of the gradients of z ( i ) ( s ) and z ( j ) ( s ) respectively. Now we substitute them into Equation (79):
| z ( i ) ( s ) | cos ( α i ) | z ( i ) ( s ) | sin ( α i ) = | z ( j ) ( s ) | cos ( α j ) | z ( j ) ( s ) | sin ( α j )
cos ( α i ) sin ( α i ) = cos ( α j ) sin ( α j )
α i = α j + Z π
In the case of an unobservable system, the direction angles of the gradient of each derivative have to be parallel to the gradient of each other derivative. Thus, all gradients of all derivatives need to have the same direction. □
While Theorem 4 is simple to prove, it is hard to grasp. Thus, we try to analyze it further. Since the gradients of z and z have the same direction, they are linearly dependent:
z ( s ) = λ z ( s )
This means that the direction of the gradient of z has to stay constant for the whole trajectory if the trajectory is unobservable. Unfortunately, this statement can not be used for surfaces without knowing the trajectory, since z depends on x , y and yaw. It is possible only if the direction of z ( s ) is independent of the yaw.
Surfaces that consist solely of aligned, parabolic points fulfil this condition. These surfaces are extrusions of a 3D curve (see Figure 12). The direction of z ( s ) does not depend on the yaw. Thus, the position is always unobservable on such a surface.
The unobservable direction can be determined by finding the null space of the Jacobian:
J null ( J ) = 0
By using the angle representation we get:
n null ( J ) 0 0 = J n = | z ( s ) | cos ( α ) | z ( s ) | sin ( α ) | z ( s ) | cos ( α ) | z ( s ) | sin ( α ) n x n y
By solving for the null space we get:
n x n y = sin ( α ) cos ( α )
which is the direction of the gradients of z ( s ) and z ( s ) rotated by 90 . Hence, the null space is orthogonal to z ( s ) .

5. Discussion

In this work, a foundation has been laid to analyze the observability of vehicles driving on surfaces. A general analysis approach based on the criteria of [29], has been developed. The measurement Equation (36) can be used to analyze arbitrary surfaces. Unfortunately, the observability highly depends on the surface equation and the taken trajectory. Thus, no general analysis of the observability could be performed.
Analysis has been performed for surface types that occur in the race track. The track consists of two straight parts, which are tilted planar surfaces and two cone-like curves. The yaw of the bike is observable in a race according to Theorem 1, because the bikers never drive straight upwards the slope. A limitation of this statement is that the biker is required to drive a curve to observe the velocity by the forward velocity prior. If the biker is driving straight, the whole analysis is pointless, since the z velocity and planar velocity are unobservable. Adding a wheel odometer would greatly improve the observability of the yaw, since the body velocity would be observable even when driving straight.
The qualitative video analysis shows that the lateral error increases at the straight parts in contrast to the curves. This is not surprising since the straight parts do not contain any information about the position. It also indicates that there is positional information available in the curve.
It was not possible to retrieve a clear mathematical answer, whether or not the pose is observable in the curves. Bikers tend to drive on a constant radius in a race to reduce the traveled distance. Hence, the pose would be observable according to our numerical analysis. However, Theorem 3 states that the pose is unobservable if the biker drives on the most inner line of the track. Since they tend to drive the shortest route, they drive close to the inner line. Thus, the pose may be poorly observable.
The drift-free experimental results with an RMS of 0.090 s (approximately 1.08 m) indicate that the pose is overall observable. Since the yaw drifts slowly, a few time periods with observable yaw (e.g., driving a curve on the straight parts) may be enough to retrieve a sufficient estimate of the yaw. This estimate may be enough to retrieve the pose in the curves even if the biker drives on the inner line.
The analysis revealed a weakness of the estimator. A trajectory, where the driver drives straight on the straight parts and on the inner line of the curves, may have insufficient observability of the pose. Therefore, an experiment with this kind of trajectory is required to verify the error bounds of the systems. In addition, the observability for trajectories on non-constant radii in the curves has to be examined experimentally, since it was not possible to calculate it analytically.
Overall, the observability analysis revealed some of the error properties of a bike driving on the race track. The height map prior can give observability of the pose but it is not guaranteed to do so. The drift-free estimates of the experiment are now better understood and ongoing development of the state estimator can benefit from the gained insight.
The general capability of the system to deliver drift free estimates of the pose has been proven. Thus, future work has to focus on improving the estimate until it reaches a usable level. An absolute reference system is required to quantify the true estimate error in all driving conditions. As a first improvement, the IMU should be positioned at the center of the rear wheel, since the transformation of the IMU measurements amplifies the IMU noise.

Author Contributions

Conceptualization, T.L.K. and U.F.; methodology, T.L.K. and U.F.; software, T.L.K.; validation, T.L.K. and U.F.; formal analysis, T.L.K.; investigation, T.L.K. and U.F; resources, T.L.K.; data curation, T.L.K.; writing—original draft preparation, T.L.K.; writing—review and editing, T.L.K. and U.F.; visualization, T.L.K.; supervision, U.F.; project administration, T.L.K. and U.F.; funding acquisition, U.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the German Research Foundation (DFG) grant number ZaVI FR 2620/3-1.

Acknowledgments

We would like to thank Lukas Post for supporting the creation of the dataset, Peter von Maydell and Dennis Paul for participating as bikers and the organisers of the Sixdays Bremen for their permission to record the dataset.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
DOFDegree of freedom
IMUInertial measurement unit
UKFUnscented Kalman filter
GNSSglobal navigation satellite system
RMSRoot mean square error

Appendix A. Covariances of the Estimator

Covariances: Process noise applies on the dynamic model constraint (8). The a I measurement noise consists of the sensor noise and additional noise which is caused by the transform from IMU acceleration to the body acceleration.
Table A1. Ref. [11] Covariances of the initial guess.
Table A1. Ref. [11] Covariances of the initial guess.
Process noise λ 10 m2/s
Process noise λ ˙ 0.1 m2/s2/s
Process noise Q W B 0 rad2/s
Process noise ω B 1 rad2/s2/s
Process noise v W 0 m2/s2/s
Process noise a W 100 m2/s4/s
ω I measurement noise (6)3.05 × 10−6 rad2/s2
a I measurement noise (7)0.2004 m2/s4
Forward velocity prior (9)0.1 m2/s2
λ ˙ pseudo measurement noise (13)0.2 m2/s2
ω B pseudo measurement noise (14)0.5 rad2/s2
Table A2. Ref. [11] Covariances of the main model.
Table A2. Ref. [11] Covariances of the main model.
Process noise p W in Σ g 0.1 m2/s
Process noise v W in Σ g 0.1 m2/s2/s
Process noise a W in Σ g
Process noise Q W B in Σ g 0.1 rad2/s
Process noise ω B in Σ g 0.1 rad2/s2/s
Process noise ω B in Σ g
Process noise b a in Σ g 8.28 × 10−9 m2/s4/s
Process noise b g in Σ g 0.58 × 10−9 rad2/s2/s
ω I measurement noise (6) in Σ g y 3.05 × 10−6 rad2/s2
Missing angular rate noise (6) in Σ g y 1 rad2/s2
a I measurement noise (7) in Σ a c 0.2004 m2/s4
Missing acceleration noise (7) in Σ a c 400 m2/s2
Forward velocity prior (9) in Σ f v 0.1 m2/s2
Heightmap prior (10) in Σ h 0.1 m2

Appendix B. Measurement Equations for Cone-Like Surfaces

z ( s ) = cos ( ϕ ψ ) · m ( ϕ ) ( 1 r 0 r ) · m ( ϕ ) sin ( ϕ ψ )
z ( s ) = ψ sin ( ϕ ψ ) m ( ϕ ) + 1 r 0 r m ( ϕ ) cos ( ϕ ψ ) + sin 2 ( ϕ ψ ) r m ( ϕ ) + m ( ϕ ) 1 r 0 r 2 r 0 r 2 cos ( ϕ ψ ) sin ( ϕ ψ ) m ( ϕ )
z ( s ) = 3 cos 3 ϕ 3 ψ 4 r 2 cos ϕ ψ ψ 2 + 3 4 r 2 + ψ sin ϕ ψ 3 ψ sin 2 ϕ 2 ψ 2 r m ϕ + sin 3 ϕ 3 ψ 2 r 0 r 3 + 1 4 r 2 sin ϕ ψ ψ 2 r 0 r 1 + 3 4 r 2 m ( ϕ ) + ψ cos ϕ ψ r 0 r 1 + 3 ψ r 0 cos 2 ϕ 2 ψ r 2 m ϕ + cos ϕ ψ 3 r 0 2 r 3 3 4 r 2 cos 3 ϕ 3 ψ 3 r 0 2 r 3 3 4 r 2 m ( ϕ ) + ψ sin 2 ϕ 2 ψ 3 r 0 2 r 2 3 2 r m ϕ + sin ϕ ψ 3 r 0 4 r 3 3 4 r 2 sin 3 ϕ 3 ψ r 0 4 r 3 1 4 r 2 m ϕ

References

  1. Lymberopoulos, D.; Liu, J.; Yang, X.; Choudhury, R.R.; Handziski, V.; Sen, S. A Realistic Evaluation and Comparison of Indoor Location Technologies: Experiences and Lessons Learned. In Proceedings of the 14th International Conference on Information Processing in Sensor Networks (IPSN ’15), Seattle, WA, USA, 14–16 April 2015; ACM: New York, NY, USA, 2015; pp. 178–189. [Google Scholar] [CrossRef]
  2. Harle, R. A Survey of Indoor Inertial Positioning Systems for Pedestrians. IEEE Commun. Surv. Tutor. 2013, 15, 1281–1293. [Google Scholar] [CrossRef]
  3. Beauregard, S.; Widyawan; Klepal, M. Indoor PDR Performance Enhancement using Minimal Map Information and Particle Filters. In Proceedings of the 2008 IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, USA, 5–8 May 2008; pp. 141–147, ISSN: 2153-358X. [Google Scholar] [CrossRef]
  4. Woodman, O.; Harle, R. Pedestrian Localisation for Indoor Environments. In Proceedings of the 10th International Conference on Ubiquitous Computing (UbiComp ’08), Seoul, Korea, 21–24 September 2008; ACM: New York, NY, USA, 2008; pp. 114–123. [Google Scholar] [CrossRef] [Green Version]
  5. Koller, T.L.; Laue, T.; Frese, U. State Observability through Prior Knowledge A Conceptional Paradigm in Inertial Sensing. In Proceedings of the 16th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Prague, Czech Republic, 29–31 July 2019. [Google Scholar]
  6. Foxlin, E. Pedestrian Tracking with Shoe-Mounted Inertial Sensors. IEEE Comput. Graph. Appl. 2005, 25, 38–46. [Google Scholar] [CrossRef] [PubMed]
  7. Zhou, B.; Li, Q.; Mao, Q.; Tu, W.; Zhang, X. Activity Sequence-Based Indoor Pedestrian Localization using Smartphones. IEEE Trans. Hum.-Mach. Syst. 2015, 45, 562–574. [Google Scholar] [CrossRef]
  8. Dissanayake, G.; Sukkarieh, S.; Nebot, E.; Durrant-Whyte, H. The Aiding of a Low-Cost Strapdown Inertial Measurement Unit using Vehicle Model Constraints for Land Vehicle Applications. IEEE Trans. Robot. Autom. 2001, 17, 731–747. [Google Scholar] [CrossRef] [Green Version]
  9. Dean, A.; Martini, R.; Brennan, S. Terrain-Based Road Vehicle Localisation using Particle Filters. Veh. Syst. Dyn. 2011, 49, 1209–1223. [Google Scholar] [CrossRef]
  10. Battistello, G.; Ulmke, M.; Papi, F.; Podt, M.; Boers, Y. Assessment of vessel route information use in Bayesian non-linear filtering. In Proceedings of the 2012 15th International Conference on Information Fusion, Singapore, 9–12 July 2012; pp. 447–454. [Google Scholar]
  11. Koller, T.L.; Frese, U. State Observability through Prior Knowledge: Tracking Track Cyclers with Inertial Sensors. In Proceedings of the 2019 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Pisa, Italy, 30 September–3 October 2019. ISSN: 2162-7347. [Google Scholar] [CrossRef]
  12. Rothman, Y.; Klein, I.; Filin, S. Analytical Observability Analysis of INS with Vehicle Constraints. Navig. J. Inst. Navig. 2014, 61, 227–236. [Google Scholar] [CrossRef]
  13. Xu, L.; Liang, Y.; Pan, Q.; Duan, Z.; Zhou, G. A Kinematic Model of Route-Based Target Tracking: Direct Discrete-Time Form. In Proceedings of the 2016 19th International Conference on Information Fusion (FUSION), Heidelberg, Germany, 5–8 July 2016; pp. 225–231. [Google Scholar]
  14. Lopez-Araquistain, J.; Jarama, A.J.; Besada, J.A.; Miguel, G.D.; Casar, J.R. A New Approach to Map-Assisted Bayesian Tracking Filtering. Inf. Fusion 2019, 45, 79–95. [Google Scholar] [CrossRef]
  15. Yeh, T.; Lu, H.T.; Tseng, P.H. Balancing Control of a Self-driving Bicycle. In Proceedings of the 16th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Prague, Czech Republic, 29–31 July 2019; Volume 2, pp. 34–41. [Google Scholar]
  16. Craig, N.P.; Norton, K.I. Characteristics of Track Cycling. Sports Med. 2001, 31, 457–468. [Google Scholar] [CrossRef] [PubMed]
  17. Agarwal, S.; Mierle, K.; Others. Ceres Solver. Available online: http://ceres-solver.org (accessed on 18 March 2020).
  18. Bar-Shalom, Y.; Li, X.R.; Kirubarajan, T. Estimation with Applications to Tracking and Navigation: Theory Algorithms and Software; John Wiley & Sons: Hoboken, NJ, USA, 2004. [Google Scholar]
  19. Hertzberg, C.; Wagner, R.; Frese, U.; Schröder, L. Integrating Generic Sensor Fusion Algorithms with Sound State Representations through Encapsulation of Manifolds. Inf. Fusion 2013, 14, 57–77. [Google Scholar] [CrossRef] [Green Version]
  20. Kok, M.; Hol, J.D.; Schön, T.B. Using Inertial Sensors for Position and Orientation Estimation. arXiv 2017, arXiv:1704.06053. [Google Scholar]
  21. Rasool, G. Constrained State Estimation—A Review. arXiv 2018, arXiv:1807.03463. [Google Scholar]
  22. Särkkä, S. Unscented Rauch–Tung–Striebel Smoother. IEEE Trans. Autom. Control 2008, 53, 845–849. [Google Scholar] [CrossRef] [Green Version]
  23. Keys, R. Cubic Convolution Interpolation for Digital Image Processing. IEEE Trans. Acoust. Speech Signal Process. 1981, 29, 1153–1160. [Google Scholar] [CrossRef] [Green Version]
  24. Post, L. Positionsschätzung eines Bahnrennrades auf der Basis von Inertialsensordaten und Umgebungswissen. Bachelor’s Thesis, University of Bremen, Bremen, Germany, 2018. [Google Scholar]
  25. Roetenberg, D.; Luinge, H.; Slycke, P. Xsens MVN: Full 6DOF Human Motion Tracking using Miniature Inertial Sensors. 2009. Available online: https://www.researchgate.net/publication/239920367_Xsens_MVN_Full_6DOF_human_motion_tracking_using_miniature_inertial_sensors (accessed on 25 April 2020).
  26. Wenk, F. Inertial Motion Capturing Rigid Body Pose and Posture Estimation with Inertial Sensors. Ph.D. Thesis, University of Bremen, Bremen, Germany, 2017. [Google Scholar]
  27. Kou, S.R.; Elliott, D.L.; Tarn, T.J. Observability of Nonlinear Systems. Inf. Control 1973, 22, 89–99. [Google Scholar] [CrossRef] [Green Version]
  28. Ramanandan, A.; Chen, A.; Farrell, J.A. Inertial Navigation Aiding by Stationary Updates. IEEE Trans. Intell. Transp. Syst. 2012, 13, 235–248. [Google Scholar] [CrossRef]
  29. Adamy, J. Nichtlineare Systeme und Regelungen; Springer: Wiesbaden, Germany, 2018. [Google Scholar]
  30. Robotics, M. Marvelmind Indoor GPS. Available online: https://marvelmind.com/ (accessed on 18 March 2020).
  31. Chen, Z.; Jiang, K.; Hung, J. Local Observability Matrix and its Application to Observability Analyses. In Proceedings of the IECON ’90: 16th Annual Conference of IEEE Industrial Electronics Society, Pacific Grove, CA, USA, 27–30 November 1990; Volume 1, pp. 100–103. [Google Scholar] [CrossRef]
  32. Carmo, M.P.d. Differential Geometry of Curves and Surfaces: Revised and Updated Second Edition; Courier Dover Publications: Mineola, NY, USA, 2016; Google-Books-ID: gg2xDQAAQBAJ. [Google Scholar]
  33. Klein, I.; Filin, S.; Toledo, T. Pseudo-Measurements as Aiding to INS during GPS Outages. Navigation 2010, 57, 25–34. [Google Scholar] [CrossRef]
  34. Klein, I.; Diamant, R. Observability Analysis of DVL/PS Aided INS for a Maneuvering AUV. Sensors 2015, 15, 26818–26837. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  35. Matlab. Matlab Symbolic Toolbox. Available online: https://de.mathworks.com/products/symbolic.html (accessed on 24 April 2020).
  36. Marins, J.; Yun, X.; Bachmann, E.; McGhee, R.; Zyda, M. An Extended Kalman Filter for Quaternion-Based Orientation Estimation using MARG Sensors. In Proceedings of the 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No. 01CH37180), Maui, HI, USA, 29 October–3 November 2001; pp. 2003–2011. [Google Scholar] [CrossRef]
Figure 1. Ref. [11] The track of the Sixdays Bremen.
Figure 1. Ref. [11] The track of the Sixdays Bremen.
Sensors 20 02438 g001
Figure 2. Bike with inertial measurement units (IMUs). Only the main frame IMU is used.
Figure 2. Bike with inertial measurement units (IMUs). Only the main frame IMU is used.
Sensors 20 02438 g002
Figure 3. Ref. [11] The optimization problem as a factor graph. a c k and g y k are the inputs, x k the state, g k the dynamic model (8), a k the acceleration function (7), ω k the angular rate function (6), f v k the forward velocity prior (9) and h k the height-map prior (10).
Figure 3. Ref. [11] The optimization problem as a factor graph. a c k and g y k are the inputs, x k the state, g k the dynamic model (8), a k the acceleration function (7), ω k the angular rate function (6), f v k the forward velocity prior (9) and h k the height-map prior (10).
Sensors 20 02438 g003
Figure 4. [11] Basic form of the track. The red line shows the 1D simplification. The arrows show the possible heading range.
Figure 4. [11] Basic form of the track. The red line shows the 1D simplification. The arrows show the possible heading range.
Sensors 20 02438 g004
Figure 5. Ref. [11] Height map of the Sixdays track. The red lines show the laser barriers.
Figure 5. Ref. [11] Height map of the Sixdays track. The red lines show the laser barriers.
Sensors 20 02438 g005
Figure 6. (ac) Trajectory of a biker in all trials after 100 iterations. The lasers are shown as red lines. Blue color means that the estimator predicts that the bike passes a laser barrier. Red color means that a barrier measured that a bikes passes. Green color shows where prediction and measurement agree. (df) Time error between measured pass time and predicted pass time of the laser barriers.
Figure 6. (ac) Trajectory of a biker in all trials after 100 iterations. The lasers are shown as red lines. Blue color means that the estimator predicts that the bike passes a laser barrier. Red color means that a barrier measured that a bikes passes. Green color shows where prediction and measurement agree. (df) Time error between measured pass time and predicted pass time of the laser barriers.
Sensors 20 02438 g006
Figure 7. Overview of the observability analysis. The available information is arranged in the boxes. The arrows show which information is required to infer additional information. Blue boxes show the prior knowledge. Information in the red box is retrieved by numeric analysis, whereas all other information is derived analytically.
Figure 7. Overview of the observability analysis. The available information is arranged in the boxes. The arrows show which information is required to infer additional information. Blue boxes show the prior knowledge. Information in the red box is retrieved by numeric analysis, whereas all other information is derived analytically.
Sensors 20 02438 g007
Figure 8. Planar surfaces.
Figure 8. Planar surfaces.
Sensors 20 02438 g008
Figure 9. Cone-shaped surfaces.
Figure 9. Cone-shaped surfaces.
Sensors 20 02438 g009
Figure 10. Inclination function of the Sixdays track.
Figure 10. Inclination function of the Sixdays track.
Sensors 20 02438 g010
Figure 11. Determinant of the observability Jacobian for different radii on the Sixdays track with r 0 = 10 .
Figure 11. Determinant of the observability Jacobian for different radii on the Sixdays track with r 0 = 10 .
Sensors 20 02438 g011
Figure 12. A surface with only parabolic points with the same direction for k 2 .
Figure 12. A surface with only parabolic points with the same direction for k 2 .
Sensors 20 02438 g012
Table 1. Mean error e ¯ , mean absolute error | e | ¯ , root-mean-squared error RMS, maximum error e m a x and standard deviation σ of time errors in seconds. Trial 1 (orange), Trial 2 (green) and Trial 3 (yellow).
Table 1. Mean error e ¯ , mean absolute error | e | ¯ , root-mean-squared error RMS, maximum error e m a x and standard deviation σ of time errors in seconds. Trial 1 (orange), Trial 2 (green) and Trial 3 (yellow).
Laser # e ¯ e ¯ RMS e max σ e ¯ e ¯ RMS e m a x σ e ¯ e ¯ RMS e max σ
1−0.1410.1660.1900.9250.128−0.1590.1590.164−0.2560.040−0.1760.1760.180−0.2780.036
2-----−0.0500.0530.103−0.6000.090−0.0170.0230.027−0.0820.021
3−0.0470.0530.0610.1630.039−0.0490.0530.060−0.1290.034-----
4−0.0470.0480.061−0.2670.039-----−0.0400.0400.045−0.1140.021
5−0.0380.0440.054−0.1900.038−0.0210.0480.0780.3660.075−0.0520.0540.060−0.1360.031
6−0.0740.0740.085−0.2740.041−0.0770.0840.109−0.3990.076−0.0690.0690.071−0.1040.016

Share and Cite

MDPI and ACS Style

Koller, T.L.; Frese, U. State Observability through Prior Knowledge: Analysis of the Height Map Prior for Track Cycling. Sensors 2020, 20, 2438. https://doi.org/10.3390/s20092438

AMA Style

Koller TL, Frese U. State Observability through Prior Knowledge: Analysis of the Height Map Prior for Track Cycling. Sensors. 2020; 20(9):2438. https://doi.org/10.3390/s20092438

Chicago/Turabian Style

Koller, Tom L., and Udo Frese. 2020. "State Observability through Prior Knowledge: Analysis of the Height Map Prior for Track Cycling" Sensors 20, no. 9: 2438. https://doi.org/10.3390/s20092438

APA Style

Koller, T. L., & Frese, U. (2020). State Observability through Prior Knowledge: Analysis of the Height Map Prior for Track Cycling. Sensors, 20(9), 2438. https://doi.org/10.3390/s20092438

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