^{1}

^{*}

^{2}

^{1}

^{2}

^{1}

^{2}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

The deployment of Intelligent Vehicles in urban environments requires reliable estimation of positioning for urban navigation. The inherent complexity of this kind of environments fosters the development of novel systems which should provide reliable and precise solutions to the vehicle. This article details an advanced GNSS/IMU fusion system based on a context-aided Unscented Kalman filter for navigation in urban conditions. The constrained non-linear filter is here conditioned by a contextual knowledge module which reasons about sensor quality and driving context in order to adapt it to the situation, while at the same time it carries out a continuous estimation and correction of INS drift errors. An exhaustive analysis has been carried out with available data in order to characterize the behavior of available sensors and take it into account in the developed solution. The performance is then analyzed with an extensive dataset containing representative situations. The proposed solution suits the use of fusion algorithms for deploying Intelligent Transport Systems in urban environments.

The evolution towards advanced Intelligent Transportation Systems (ITS) is usually based on the appearance of new operational concepts, supported by the state of the technology and their capability to implement critical functions with certain required performance. For instance, in the case of air traffic management, the enabling technologies to increase safety and efficiency of airspace have been surveillance systems (providing traffic situation to control centers) and navigation (letting the aircraft follow the desired route within maximum error bounds) [

The development of automation for Intelligent Vehicles has received a noticeable attention of researchers in the areas of improved navigation systems, perception and autonomy. The DARPA initiative [

Some of the main areas where new technological tools are expected are traveler information systems, incident prevention, driver assistance [

An important aspect to take into account is the need of using available low-cost sensors, in order to develop scalable solutions, which can be implemented at large scale and facilitate new driving coordination paradigms [

Localization by Global Navigation Satellite System (GNSS) has become a ubiquitous facility in outdoor conditions. This system presents significant variations of quality and reliability depending on the conditions and available enhancements. In urban outdoor conditions the accuracy is typically around 20 m (1 sigma) or more, depending on the number of available satellites and geometrical configuration (dilution of precision, DOP), propagation and especially on the presence of a multipath, a very common situation in urban conditions, whose the worst case is referred as the “urban canyon” problem [

There are different enhancements for GNSS, usually classified in Ground/Space Based Augmentation Systems (GBAS and SBAS). The European Geostationary Navigation Overlay Service (EGNOS) is the European reference for SBAS system, with 33 ranging and integrity monitoring stations, while Wide-Area Augmentation System (WAAS) is the Federal Aviation Administration’s reference in the USA. GBA systems consist of ground antennas which transmit differential corrections by VHF data broadcasts to the receiver. An example is the US Local Area Augmentation System (LAAS), used in the proximity of airports to guarantee maximum integrity in Global Positioning System (GPS) position, but this idea is being available in many other environments [

Besides the ubiquity of GNSS receivers, the recent advances in low-cost inertial sensors based on micro electro-mechanical systems (MEMS) technology [

So, GPS and Inertial Navigation System (INS) sensor systems are complementary key technologies, and a carefully designed sensor fusion process can be used to provide a navigation solution. This type of systems can be explained in simple words as enhancing GNSS with dead-reckoning capability, so that accurate navigation remains available for a certain amount of time when the GNSS signal data becomes unavailable or seriously degraded. However, experience indicates that this solution can be very limited, and the time to support outages or degradation of GPS position is not much longer than some tens of seconds due to very quick drifts in time. GPS/INS fusion is vulnerable to residual errors so a continuous monitoring of the process is necessary to guarantee that the quality of navigation is acceptable, minimizing the effect of these factors during GPS availability drops.

In this article, a modified fusion methodology is explored using adaptive non-linear filters (Unscented Kalman Filter, UKF), which are continuously monitored by a contextual reasoning process, to provide improved performance. The system features a cascaded architecture, separating attitude and kinematic filters, to create a loosely coupled closed-loop scheme that continuously estimates the INS biases to correct them and exploit whenever the GPS data is degraded or unavailable. The system includes explicit knowledge reasoning about vehicle dynamics, to adapt the model to the real conditions. Conditions such as stops, straight motion, lane changes, turns, roundabouts, are considered in the model. Besides, there is a GPS monitoring system with rules depending on conditions based on extra information (availability and age of differential corrections, number of satellites, DOP value, standard deviation,

The main contribution is the proposal of a robust and adaptable solution, exploiting the good trade-off between non-linear estimation and efficiency of UKF, and including explicit domain knowledge to drive the algorithms.

The proposed system has two features that make this problem more complicated to solve, and are thus key to understand the contribution of the work. The first one is that the sensing system is a simple ensemble of low cost commercial off-the-shelf (COTS) sensors that can be mounted anywhere in the target vehicle. This circumstance increases the difficulty of the problem, since the sensors can be subject to additional dynamic effects that have not been explicitly modeled –such as rolling in corners due to the lateral acceleration.

The second feature is that the sensors have not been calibrated before executing the experiments. Instead, the system automatically corrects those effects online. Continuous self-monitoring and adaptation is necessary to work with the selected low cost sensors, in order to compensate the varying biases and errors over time.

The built system gets good comparison with respect to other recent proposals that assume high quality of sensors and perform an initial calibration of the system. The experimental results, with approximately 50 km in different and representative conditions show the competitive performance of the proposal.

The article is organized in six parts. Section 2 describes the related works, with special emphasis on the architectures and fusion algorithms applied in the domain of car navigation, and other context-aided tracking algorithms. Section 3 presents an analysis of sensor behavior in the operational conditions, to justify the approach detailed in Section 4, which explains the theoretical foundations, architecture and algorithms. The validation and comparative analysis is developed in Section 5, and the conclusions of this study are presented in Section 6.

Latest advances in low-cost sensors, communications and microprocessors are fostering the development of new sensing capabilities for Intelligent Vehicles, allowing these vehicles to aid the driver in maneuvers such as stability control of the vehicle or pedestrian safety in urban environments. The advancements in these mentioned technologies are being extended nowadays to solve complex tasks in the forthcoming Intelligent Transportation Systems, which require normally the combination of sensors and computation to accomplish a reliable solution. The integration of inertial and GNSS data implies the joint estimation of position and orientation, also referred to as the “POSE” estimation problem. Despite the noticeable interest in this problem (UAVs, robotics or aerospace, among other research communities), the proposed solutions are diverse and heterogeneous, without a universally accepted one. The problem requires from deep analysis of field data, with simulation analysis, to customize the algorithms performance accordingly to the application requirements. Attitude estimation appears in the core of the POSE problem, since IMU measurements are referred to the body frame.

Different architectures have been analyzed for sensor fusion in navigation. The uncoupled integration, which uses the output of the navigation solutions from a GPS receiver and an INS to combine independent solutions [

The typical approach with respect to estimation algorithms has traditionally involved extended Kalman filters (EKF) to linearize the process and measurement models, usually involving highly nonlinear equations to relate coordinate frame transformations in the measurement model. However, this model relies on linear approximation of a nonlinear system, a complicated mathematical task and sometimes leading to bad performance [

With the availability of more computation power, recent works have employed more advanced techniques, like the unscented Kalman filter (UKF) to avoid linearization while providing estimates that capture the statistics of the target distribution more accurately [

Other advanced nonlinear filtering algorithms can be used in navigation, e.g., the particle filter related algorithms. Cheng and Crassidis [

Multiple model filters are another extension to estimation. The family of tracking filters called Interacting Multiple Models (IMM) allows the characterization of dynamics behavior according to one of several alternative modes, each mode with an associated probability, and transition rates defined through a discrete Markov process [

In [

In the specific case of navigation and GNSS/INS fusion, some approaches for fault detection of the sensors have been developed. Thus, Noureldin

Finally, the use of contextual information and knowledge is a key element in advanced fusion systems, to refine the models for objects and sensor behaviors accordingly to situation. High-level information about the environment, such as surface structure, constraints, expected behavior,

In navigation, the use of external contextual information can be a key aspect to improve the robustness and adaptability of systems. There are numerous proposals integrating static data such as topographic terrain models and road networks, while the use of a dynamic representation of contextual situation with reasoning techniques is much more scarce [

The device descriptions and system integration are explained in this section. The first sensor is a Differential Global Positioning System (DGPS) which is based on a base station that transmits differential corrections in real-time to a rover station moving in urban environment. The second sensor is an Inertial Measurement Unit (IMU), which integrates three accelerometers and three gyroscopes. The integration of both devices (DGPS + IMU) for sensor fusion is presented in

The GNSS receivers that have been selected for base and rover are two NovAtel OEMV-1G boards, which offer GPS + GLONASS L1 tracking and provide reliable positioning even in obstructed sky conditions. The receivers are embedded on a NovAtel compact enclosure (FlexPak-G2-V1G) for outdoor applications as base station and vehicle position in urban environment.

The rover receiver calculates solutions based on two modes. The first mode is single point position mode (SINGLE mode), which utilizes all available GPS satellites in the position solution without differential corrections. The second mode is differential mode (DGPS mode), where the base station at an accurately known location transmits range corrections to the rover receiver. The update rate associated with SINGLE or DGPS modes is 1 Hz and the rover receiver automatically switches between both modes, where DGPS mode has priority if appropriate corrections are received.

The rover receiver uses L1 C/A-code data for differential solution due to advantages in urban environment instead of using carrier-phase DGPS. The carrier-phase DGPS such as Real-Time Kinematic (RTK) has disadvantages for its use in highly dynamic conditions. Then, the experiments of this work are performed with a DGPS system using L1 C/A-code data for differential solution where accuracy is less than 1 meter.

The “optimal conditions” term in SINGLE mode refers to observing six or more healthy satellites and relatively low multi-path (to assure enough quality of the received data). In the case of differential mode, it requires at least four common satellites available both at the base and rover.

The Inertial Measurement Unit (IMU) is a MicroStrain 3DM-GX2, which integrates a triaxial accelerometer, triaxial gyroscope and triaxial magnetometer. IMU data is used to estimate the navigation solution when GPS is not available due to the interruption of satellite signals, which is typical in urban conditions such as driving in a tunnel or within an urban canyon between screening buildings, among other cases.

In Section 5, results will be analyzed from experiments that acquired data from both devices (DGPS + IMU) along 50 km of driving through urban environments and a mountain pass road, both cases with different speeds. We include here some samples illustrating the behavior of the rover GPS device (DGPS or SINGLE mode) in some cases, taking special attention to cases under non-optimal conditions.

The accuracy of the GPS device changes if the rover receiver uses DGPS or SINGLE mode.

Therefore, the following scenarios delves into the technical details of the GNSS receiver that causes inaccuracy of the position in urban environments and other special cases selected to demonstrate the improvement of sensor fusion.

Some cases of low accuracy caused by switching from DGPS to SINGLE mode are also presented. In our system, DGPS mode loss can be caused by GPS signal unavailability or 3G network outages, and thus the recovery time is variable and a technical detail of the receiver. The age of the corrections in DGPS mode, and its effect in the accuracy of calculated solution has been studied in depth. It constitutes a useful indicator for predicting anomalous behavior, since high values of differential ages cause a decrement of accuracy in DGPS mode. The accuracy in DGPS mode can be also affected by baseline length effect, atmospheric errors, satellite clock and ephemeris errors.

Many researches use only Dilution of Precision (DOP) to characterize the position accuracy, as proposed in [

The accuracy of GPS and DGPS positions calculated in this work by the rover receiver mainly depends on the number of satellites that are used in the solution, as well as their geometry, that is quantified by dilution of precision (DOP) parameter. There are other factors that affect also the accuracy of GPS, such as multipath, ionospheric or tropospheric effects. Multipath appears mainly in urban environment where objects reflect GPS signals. This type of error depends on local reflection geometry near each receiver antenna [

Some scenarios have been selected from a dataset containing 50 km of data composed of GPS (SINGLE and differential mode) and IMU measurements in real-time, where data acquisition is 1 Hz for positioning system and 50 Hz for inertial sensor. Common factors affecting accuracy in urban environments have been registered together with the measured magnitudes: the standard deviations (latitude, longitude and height), the age of corrections and the number of satellites used in solution.

For instance, the following scenario is selected to show the behavior of the positioning system in an urban trajectory with a high number of satellites used in solution and active differential correction for 300 s, that is, a vehicle trajectory in a soft urban environment. The accuracy is high through the whole trajectory, however it can be observed that DGPS accuracy is reduced when only four satellites are available. This effect of inaccuracy can be seen in

A typical behavior of the receiver in soft urban environment is the commutation between differential mode and GPS SINGLE mode, causing also the corresponding drop of accuracy. This effect can be noticed if the value when differential age is zero.

Another effect (

With respect to the IMU device, accelerometers and gyroscopes measurements were acquired at 50 Hz for sensor fusion. The following IMU data is an example when the vehicle is performing a 360 degrees roundabout (^{2}).

The frequency-domain representation allows us to observe some errors in IMU data, as presented in [^{2}) to be compared with Yaw rotation rate (rad/s) of Z-axis, and lower-right graph is the frequency-domain representation of Yaw signal. Both amplitude spectrums display only low frequencies (0–1 Hz) to show the 360 degrees roundabout. The amplitude of the discrete frequency component at 0 Hz displays the non-time-varying component of the data.

The X-axis deceleration and subsequent acceleration in the 360° roundabout can be observed in time-domain graph. The roundabout evolution is observed in Y-axis acceleration and Yaw rotation rate time-domain graphs, where both signals show inverse correlation. Frequency-domain of both signals display two discrete frequency components that belong to two short turns right and one long turn left to complete 360° roundabout. Therefore, frequency-domain is useful to estimate bias parameter and effects caused by vehicle dynamic.

The architecture used in this work takes as starting point a basic sensor fusion scheme for navigation, similar to others proposed in existing literature. It is extended to integrate the knowledge about the expected dynamics of a ground vehicle in some particular road driving conditions.

Some of the analyzed previous works integrate high-accuracy inertial measurement devices (

Our proposal is more aligned with the work presented in [

In the two works presented above, authors boldly emphasize the need to perform an initial alignment and calibration of the sensors. The novel part of our proposal is that, apart from using a low/medium budget system, it is able to automatically perform calibration online. The implemented system exploits explicit domain knowledge to detect favorable situations where this task is possible. This is a key factor for building commercial off-the-shelf systems, where some performance can be sacrificed in favor of a reduced cost and simplified deployment.

The figure shows how data moves around the system. Solid lines represent raw data as captured by the sensors, blue dotted lines refers to refined sensor information (original data that has been processed to compensate known errors, or to produce features that summarize a number of raw values). Finally, dashed lines are reserved for new data that has been obtained by advanced processing techniques such as filters or reasoning algorithms. The meaning of each data component will be detailed in the corresponding section, where it is produced.

Let us define, beforehand, some conventions and rules about notation followed over the rest of the document. The coordinate reference systems used by the sensor fusion solution are Cartesian, right-handed. World coordinates follow ENU convention, with its origin located near Colmenarejo Campus of the University Carlos III de Madrid (Madrid, Spain). All the tests took place within a distance of 20 km. The three axes of world coordinate system will be referenced as {

Both the IMU, GPS and vehicle are considered to share a common reference system, that will be named as “Local”. Its axes are named {^{L}^{L}^{L}^{L}^{L}^{L}

The word “attitude” is referred to the vehicle/IMU. It express the orientation difference (rotation) between the local axes {^{L}^{L}^{L}_{G}

Gyroscope readings express angular rates around local axes {^{L}^{L}^{L}

The proposed architecture defines a context inference module, in charge of inferring useful information about the vehicle and its surroundings: the

The use of contextual information to enhance performance is not new. However, and in spite that the use of this kind of information has been proved to be useful and valuable, it is usually applied in very specific

Our proposal aims to spread contextual knowledge as if it was provided by another sensor, as proposed in [

It must provide up-to-date online information. This means that it must work only over past and present sensed information,

The results must be readily available for any component requesting them. The result of such request will be a self-contained data element, such as a tuple of values with an associated timestamp.

In order to avoid risks related with “data incest” or “double counting”,

For this work, context inference has a limited reach (

The selected stop detection algorithm is solely based in IMU readings to improve the availability of the service, since GPS is subject to outages. Although using the car acceleration values for this task could seem the most suitable approach, it is important to notice that this sensor is subject to several effects that can cause some algorithms to fail. First, accelerometer measures can be biased, and those biases are usually unknown to us: our proposal tries to correct those effects online. In second place part of the gravity acceleration is usually transmitted to ^{L}^{L}

Both problems together make very difficult (if not impossible) to estimate if the acceleration of the car is zero at some point. This can be seen in ^{L}^{2} because in the second stop the car is on a steep road (approx. 5 degrees).

However, a significant amount of vibrations are transmitted to the IMU while the vehicle is in motion, even over the smoothest terrains. The three axes show a near constant reading during the time spans where the car is not moving.

Thus, this sub-module uses the amplitude of accelerometer measures in a window of time (maximum measured value minus minimum) as an indicator of a “flat” reading. The advantages of the proposed method include:

Simple and fast computation (maximum/minimum of a reduced amount of numbers)

Independency of biases, attitude and other conditions

However, it requires setting a suitable threshold for determining when the car is stopped (0.5 m/s^{2} in our case). Although this can be easily set taking into account the expected random error according to the manufacturer, more robust alternatives can incorporate GPS position estimates to enhance the stop detection.

Our system features a robust algorithm for detecting certain trajectory features that have a special meaning. In this work, the implementation has been limited to detecting where the car is driving over a lane in a straight fragment of the road, with no lateral or longitudinal maneuvers. As well as it happened with car stops, this information can be useful for additional fusion or sensor refinement processes, although it can be applied to more advanced reasoning processes.

Turns are clearly indicated by the gyroscope yaw reading (around ^{L}

This detection requires, however, a non-biased gyroscope reading which is provided by the sensor refinement module. The details are provided in next section.

Sensors are subject to external and internal conditions which affect their performance in different ways. Sometimes, the sensor itself will be capable of providing a self-assessment of its observations quality, as in the case of GPS measures that include the number of available satellites or the precision of the calculated solution.

For some others, however, it is necessary to apply external checks for detecting degraded performance or faulty sensor conditions. As an example, the bias or systematic deviation of micro-electronic based accelerometer and gyroscopes is stable at short/medium term, but suffers a slow drift related with factors such as the internal temperature of the device.

This means that an initial calibration is not enough for keeping a system running over long periods of time. The best solution involves monitoring the quality of sensor readings, and calculating the parameters that correct them when possible.

In the proposed system, sensor refinement is understood as a layer between the sensors and any other process accessing their data (

Transforming local IMU readings to world frame of reference requires an estimation of car attitude

The algorithm for correcting gyroscope bias is active when the car is not moving

This can be solved by introducing a feedback from latter layers. It must be checked that there are no cyclic dependencies or that even under them the system will converge to a stable solution.

Gyroscope bias can be corrected when the car is stopped: the reading on each axis is its bias, plus a random perturbation which can be modeled as Gaussian noise. Therefore, bias is estimated as the average of the readings on each axis over the period where the car is stopped (the reduction in noise variance will be inversely proportional to the number of samples). So, the key to update biases in gyroscopes will be the good inference of contextual information, triggering the process each time the car is stopped.

The case of accelerometer bias is much more complicated than the gyroscope, due to the effect of gravity. With the vehicle stopped, the reading on the accelerometer axes is:
_{{x,y,z}L} are the biases of the three local accelerometer axes, ^{T}

According to the equation above, bias and rotation have to be determined simultaneously. Solving this problem with no prior calibration represents a challenge, since degree-level errors while determining the attitude can be compensated by drifting the estimated accelerometer bias in a reasonable quantity.

Bias estimation is restricted in our model to the ^{L}_{ψ,ϕ}

Applying the same reasoning process followed in reference [_{X}_{a}

There are any navigation-related works that describe the vehicle using a 2D model, as in [

However, this simplification cannot be applied in many car driving conditions. The best example is probably that one related with accelerometer readings and the effect gravity has on them: a vehicle driving uphill at constant speed in a ^{L}_{Rx}^{L}

These arguments would be enough to justify a full state estimation, which can account for the whole possibility of movements that a car can perform in the 3D space. The most straightforward approach consists in applying a single filter that works with a constrained six Degrees of Freedom (6DoF) system. This solution can be found in some of the already cited works, as [

A two-stage solution has been preferred instead: the first block estimates the attitude of the vehicle for correcting the inertial inputs, and the second one predicts its kinematics using a simpler 2D model that take into account the motion constraints of a ground vehicle. It has been shown that uncoupled solutions offer a poorer performance when compared with loosely- and tightly-coupled formulations [

The UKF is a member of the Kalman family. As the basic Kalman filter [_{k}_{k}_{k}

These filters use a mathematical description of how the system evolves over time, the _{k}_{k}_{v}_{v}

A series of measurements are received over time:
_{k}_{w}

The KF is limited to linear prediction and observation models, but it provides a formulation to first predict the probability distribution of the state in a future time instant, and then use a measurement to correct the prediction and reduce the uncertainty:

The UKF [_{k}_{k}^{2}(_{i}

These points are propagated using the prediction function

Being

Let us describe the attitude of the vehicle as a global Euler tern

This part of the system, shown in

Subtracting the effect of gravity from accelerometer readings,

Translate local gyroscope readings to world system of reference. This is of great importance during turns where the car is tilted.

So, the state vector is _{att}_{gyr}_{x}_{y}_{z}^{L}^{L}^{L}

Since gyroscope readings represent a simultaneous rotation around the three local axes at the marked angular rates. That means that the local reference system changes continuously over time. For infinitesimal time increments, the simultaneous rotation is similar to applying three sequential infinitesimal rotations around each one of the axes, with independence of the order. Using matrix form, this can be expressed as:
_{k}_{k}_{δ}

Our model performs a numerical approximation of this approach. First, the prediction time span _{gyr}_{x}_{y}_{z}_{d}

As a side note, our choice for ^{−4} seconds. The obtained results were compared with those yielded by the widely accepted quaternion kinematics equation, resulting in errors around one part per billion.

The new vehicle attitude can be calculated as:

Where _{att}_{+t} to Euler notation (again, around global axes) and discarding the azimuth values gives the new vehicle attitude _{att(+t)} = [

Finally, UKF equations are applied to combine the prediction with asynchronous measures and provide the estimated tilt and elevation angles.

The tilt angle of the car can be calculated based on the gravity transmitted to accelerometer ^{L}^{L}

_{y}_{accy}.

During fragments where the vehicle is moving in a straight piece of road, the car will not be subject to lateral accelerations and it is valid to assume that

The effect of gravity can be calculated by transforming it to local axes. Assuming that the attitude of the car is _{att}

This matrix has to multiply the global-referenced gravity vector [0, 0, ^{T}

Back to the reading under straight movement conditions, we have that:

The tilt angle

Raw elevation angle can be estimated using GPS information of consecutive measures, as illustrated in

This estimation of pitch angle is quite sensitive to the measurement conditions. In one hand, it is important to use two GPS measures close enough in time so that the path of the vehicle between them can be well approximated by a straight line, and also that the elevation angle has remained near constant. On the other hand, the 3D points must be as separated as much as possible so that the error of GPS does not have a large impact on the calculated elevation. Our GPS device provides measures at a fixed rate of 1 Hz. The distance between consecutive positions will depend on the speed of the vehicle.

For locating the vehicle on a surface, a 2-dimensional model is proposed. We assume no wheel slippage. Let the state vector be ^{T}

The azimuth complements the output of the attitude estimation model, to form the complete attitude vector of the vehicle. The prediction function takes the state of the system, and a control input _{x}_{z}^{T}

When the movement of the car is near-straight, its kinematic is calculated using the following simple model:

During turns, the prediction function switches to an adaptation of Ackermann steering model [

As both position and kinematic data are referred to the location of GPS/IMU sensors, we consider the radius of the turning as the distance between the center of the rotation and the IMU. The origin for the rotation can be calculated as:
_{rot}_{t}_{t}^{T}_{rot}^{T}

Speed and attitude are calculated as in the first formulation:

The experimental validation has been carried out in a set of representative scenarios to show the reliability of the proposed system. In the first place, we present some results about contextual analysis and sensor correction subsystems. The other results display the performance of the filters when GNSS signals are unavailable or severely degraded in complex urban environments.

The stop detection algorithm is based in measuring the “roughness” of accelerometer output over time. For this purpose, a window of 0.5 s proved to offer good results without introducing a significant delay. Moreover, stops are useful when extend over a few seconds, so that the delay is not usually important.

For the trajectory analysis part, the non-biased gyroscope reading around

It is interesting to see the two small interruptions of the straight movement around t = [820;825] and t = [840;845]; they represent two consecutive changes of lane, the first one to the right and the second back to the left. Readings from t = 860 in advance are part of a curvy mountain road with brief straight segments, revealing a satisfactory performance even with strong slopes.

With respect to bias drift, in this type of sensors is known to be caused by temperature changes, and thus is a slow process. The 15 stops detected in the experiments returned a quite stable estimation of _{g}_{g}

The use of dynamic adaption would have kept the gyroscope calibrated under any other conditions. Taking into account these considerations, two indicators of algorithm performance were examined:

Accuracy of dead-reckoning navigation

Bias estimation process should return similar values for car stops that are close in time, but for which the elevation angle is different

The second point is illustrated in ^{2} (blue circles in lower part) after correcting the effect of gravity according to the estimated car elevation, which is close to zero in the first stop and close to 5° in the second one. The green circles during the second stop represent the raw accelerometer reading, before correcting the gravity effect.

Regarding the estimation of car elevation angle from GPS positions the expected error, which depends on the random position error of the two consecutive GPS fixes, is difficult to describe analytically, and is clearly not distributed as a Gaussian. The selected solution involved a Monte Carlo simulation that describes the probability distribution function of the error. Its second order statistic (variance) was calculated, for getting an approximate Gaussian description of such error. The detailed procedure is described next:

Input: two GPS measurements

Calculate distance in the plane, difference in altitude, average moving speed, expected elevation angle

Repeat N times (Monte Carlo):

○ Simulate real position of the vehicle for the input GPS fixes: add random sample distributed as a Gaussian described by GPS accuracy indicators

○ Calculate real elevation angle

○ Store the difference between expected and real elevation angle

Calculate statistics for the distribution of the error of estimated elevation angle

With respect to the whole navigation system, several complex scenarios have been selected to assess the overall performance. These experiments include typical cases as stops or turns in urban environments, enriched here with especially complex cases such as roundabouts with different exits, turns in the banked road at mountain pass, underground parking areas, long tunnels, driving under elevated pedestrian bridges, or short tunnels under motorways to change direction.

The first complex scenario includes a total GPS blackout in a non-underground parking. The calculated position by GPS appears as a constant value whereas the vehicle is passing through the parking area, which is not underground but has a roof that occludes the satellites (

At this point, and after more than 10 min running, the system has accurately determined biases. Dead-reckoning conditions are not optimal, though, since at this point the last effective measure of the pitch was received more than two minutes ago, so the attitude has been maintained by the filter integrating IMU measures.

^{2} for the accelerometer.

The estimation for gyroscope bias that the proposed system achieves is stable within 0.02 degrees per second. The error in position caused by the drifting attitude estimation is not very important compared with that of the accelerometer. It is reasonable to conclude that gyro bias estimation is accurate enough in our system. It is different for the accelerometer bias, where an error of 0.2 m/s^{2} has a much profound impact. It is worth remembering that residual accelerations of a similar magnitude can appear spontaneously if the vehicle elevation is estimated with a deviation of 1 degree.

In conclusion, the results on this scenario show that the biases estimated by the proposed system have been set correctly, and that small changes inside the expected IMU bias stability can be the source of large errors.

The second scenario is related to a complex urban environment where the vehicle is passing through urban canyons with low visibility of satellites. The

The sensor fusion solution is presented in

The effect of entering an urban area is displayed in

The movement of the vehicle in a complex canyon is displayed in

A third situation is shown in

The validation of the UKF filter solution is presented in ^{2} values for East and North coordinates are 0.9959 and 0.9904. The deviation of the real trajectory at the end of roundabout is 7 m as can be observed in

In this article, vehicle positioning has been studied as a complex and essential task for Intelligent Transportation Systems in urban environments. A reliable solution based on a context-aided Unscented Kalman Filter has been proposed by fusing Differential Global Positioning System and Inertial Measurement Unit to estimate the vehicle positioning. A context-aided module aids the non-linear estimation process, with an explicit representation and inference about contextual situation. The usefulness of the presented system, and comparative advantages with respect to simpler approaches, have been extensively demonstrated through results under demanding circumstances such as GPS outages, degraded satellite signals, loss of differential mode or multi-path presence, while maintaining the positioning accuracy in complex urban scenarios.

Complex scenarios in urban environments ranging from non-underground parking to urban canyon trajectories, have been analyzed, and former GPS difficulties have been be overcome successfully. The time-domain comparison of GPS/DGPS and UKF filter solutions has corroborated the optimal UKF filter solution in different urban trajectories. The first validation of the advanced GNSS/IMU fusion system has been quantified through the comparisons of standard deviation evolutions of GPS/DGPS and UKF filter solutions. The second validation of the UKF filter solution have been demonstrated by means of the comparison between high-accuracy DGPS groundtruth and UKF filter trajectory.

This solution can be applied, using moderate-cost available sensors, in forthcoming vehicles that will require reliable positioning in urban environments, such as cooperative driving, automatic maneuvers for pedestrian safety, autonomous urban vehicles, and collision avoidance, among other ITS applications.

This work was supported in part by Projects CICYT TIN2011-28620-C02-01, CICYT TEC2011-28626-C02-02, CAM CONTEXTS (S2009/TIC-1485), CICYT TRA2010-20255-C03-01, CICYT TRA2011-29454-C03-02 and mobility grants program of Fundación CajaMadrid

Integration of GNSS antenna of rover receiver and IMU in a platform over the roof of the vehicle.

DGPS mode with 34 km baseline and 3G network for sending differential corrections over internet.

Accuracy of the GPS device

Soft urban environment where differential correction is active: (

Effect of the high value of the correction age at 110 s and the passing under a motorway at the end of experiment.

Time-domain and frequency-domain representations of X-axis, Y-axis acceleration and Yaw rotation rate.

System architecture.

Context inference module. Current implementation.

Sample accelerometer readings featuring two stops around t = [0;15] and t = [430;460] seconds. The varying bias during stops makes the raw signal not adequate for detecting stops.

Sensor refinement module.

Attitude estimation process.

Calculation of elevation angle from two GPS measures.

Sample accelerometer readings, processed signal, and output of the car stop detection module. This figure shows the validity of the applied strategy.

Output of the trajectory analysis module: straight movement detection using accelerometer readings.

Accelerometer bias can be corrected during stops if elevation angle has been already determined.

Expected standard deviation of GPS-obtained elevation angle, depending on vehicle speed and fix horizontal accuracy (simulation, 10 million iterations per point).

Non-underground parking area with zero satellite visibility and inactive DGPS mode using a constant value.

(

Complex urban canyons with a plethora of cases with non-optimal conditions for the rover receiver.

(

(

(

(

(

Filtering algorithm for determining vehicle attitude.

Define state vector Define initial covariance matrix
| ||

_{k+1}_{k}_{k} |
For gyroscope reading _{k}_{x}_{y}_{z}^{T}Transform vehicle attitude Calculate total rotation matrix Calculate new predicted attitude | |

Tilt | In the arrival of a tilt measure:
Set matrix Set observation covariance as | |

Elevation | In the arrival of an elevation measure:
Set matrix Determine the expected measure error:
○ Take vehicle speed ○ Take accuracy of the GPS fixes used to calculate the elevation measure ○ Using those two values, retrieve the expected elevation measure error Set observation covariance as |