Next Article in Journal
Detonation Velocity Measurements Using Rare-Earth Doped Fibres
Next Article in Special Issue
Capillary Sensor with Disposable Optrode for Diesel Fuel Quality Testing
Previous Article in Journal
Survey on Revocation in Ciphertext-Policy Attribute-Based Encryption
Previous Article in Special Issue
Continuous Driver’s Gaze Zone Estimation Using RGB-D Camera
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Intelligent Positioning for a Commercial Mobile Platform in Seamless Indoor/Outdoor Scenes based on Multi-sensor Fusion

1
Jiangsu Engineering Lab for IOT Intelligent Robots, Nanjing 210023, China
2
School of Automation, Nanjing University of Posts and Telecommunications, Nanjing 210023, China
3
School of IOT, Nanjing University of Posts and Telecommunications, Nanjing 210023, China
*
Author to whom correspondence should be addressed.
Sensors 2019, 19(7), 1696; https://doi.org/10.3390/s19071696
Submission received: 22 January 2019 / Revised: 4 April 2019 / Accepted: 4 April 2019 / Published: 9 April 2019

Abstract

:
Many traffic occasions such as tunnels, subway stations and underground parking require accurate and continuous positioning. Navigation and timing services offered by the Global Navigation Satellite System (GNSS) is the most popular outdoor positioning method, but its signals are vulnerable to interference, leading to a degraded performance or even unavailability. The combination of magnetometer and Inertial Measurement Unit (IMU) is one of the commonly used indoor positioning methods. Within the proposed mobile platform for positioning in seamless indoor and outdoor scenes, the data of magnetometer and IMU are used to update the positioning when the GNSS signals are weak. Because the magnetometer is susceptible to environmental interference, an intelligent method for calculating heading angle by magnetometer is proposed, which can dynamically calculate and correct the heading angle of the mobile platform in a working environment. The results show that the proposed method of calculating heading angle by magnetometer achieved better performance with interference existence. Compared with the uncorrected heading angle, the corrected accuracy results could be improved by 60%, and the effect was more obvious when the interference was stronger. The error of overall positioning trajectory and true trajectory was within 2 m.

1. Introduction

Providing pedestrians and vehicles with continuous positioning is a challenging but important topic [1,2,3]. In infrastructure-free navigation, it is necessary for mobile platform to provide accurate positioning in seamless indoor/outdoor occasions based on all the required sensors [4,5,6].
In recent years, various real-time applications benefit from services provided by localization systems due to the advent of new sensing and communication technologies [7]. The Global Navigation Satellite System (GNSS) provides sufficiently accurate information including time, position and velocity [8]. However, GNSS cannot work when an unobstructed sight line to four or more GNSS satellites is lacking. In environments such as urban canyons and tunnels, it is difficult for GNSS to provide continuous and reliable positioning [9,10]. Since the GNSS enables localization only in outside scene, indoor positioning and navigation applications have to use alternative technologies [11], such as Wi-Fi, Bluetooth, Inertial Measurement Units (IMU) and magnetometer. However, each of the techniques has its own advantages and disadvantages. For example, iBeacon technology, which relies on the Bluetooth Low Energy (BLE) standard to create stationary constellations of low-power beacons, can be used to determine the indoor position of mobile terminals or signaling points of interest [12]. However, it needs to establish a base station in advance, and thus it is not suitable for all occasions, such as tunnels, underground garages, etc. Wi-Fi positioning technology also needs to establish a base station, so it is not considered in this article. Therefore, these technical solutions are not suitable for the platform. Positioning techniques based on IMU estimate the step size and motion direction with its information [13,14]. This technique is widely applied, as it does not depend on external base stations or signal features. It has accurate positioning within a short distance, but its accuracy will sharply deteriorate by the cumulative error over time [15]. Positioning techniques based on magnetic fields is achieved using the distribution difference of the magnetic field at different locations on the Earth. The navigation system measures the magnetic field information of the space, including the geomagnetic field information and the interference magnetic field information. Therefore, magnetometers have some problems in the compensation of magnetic field. Especially in the case of constant changes in the external magnetic field environment, the magnetometer has great difficulty in error correction and compensation [16].
As the signal of GNSS satellites broadcasts in the civil field, it includes the high frequency random oscillating interference signal. Thus, all derived satellite signals will generate high frequency oscillation [17]. To improve the positioning accuracy, it is necessary to filter the GNSS observation signal to the position of the carrier. An effective solution is to integrate the GNSS receiver with the Inertial Navigation System (INS) owing to their complementary feature. The Kalman filter and its extension methods are widely employed to integrate the GNSS and INS to balance the performance of the two systems. Typically, the output of INS is used as a prediction value, and the output of GNSS as a measurement value. The Kalman filter estimates the new state recursively based on the state parameter at the previous moment and the observed value at the current moment. It is in the order of “prediction–measurement–correction”. According to the measured values of the system, random interference would be eliminated, and the state of the system is reproduced [18].
When the carrier enters a place with weak GNSS signals, it requires other tools for replacement. Since the INS can only provide short-term accuracy, it is not suitable for long-term indoor positioning. Therefore, it is necessary to choose a new way. The combination of Global Positioning System and magnetometers is used in the platform in [19]. According to the position value of the previous point, the current position value is calculated by the acceleration and direction provided by the accelerometer and magnetometer, respectively. However, the magnetic field strength measured by the magnetometers is easily disturbed by the surrounding environment, and the measurement error leads to an inaccurate heading angle [20]. This problem is not considered in [19]. At present, the method of correcting and compensating the magnetometer in the navigation system is very common, and some methods are mature, which can meet certain precision requirements [21,22]. However, most methods only consider the correction and compensation of the navigation system when the external environment remains unchanged. Therefore, these methods are not suitable for dealing with changes in the external magnetic field environment. Magnetic fingerprinting based indoor Localization (MaLoc) is an indoor positioning system, which is based on ambient magnetic field measurements using smartphones [23]. The system consists of a client running on smartphones and a server. The client collects magnetic and inertial sensor data and performs step counting, heading change between two contiguous steps, and accesses magnetic values in each step. The system has shown an average accuracy of the order of 1–2 m in a large building.
In this paper, we aim at designing a mobile platform that enables positioning in seamless indoor/outdoor scenes. The trajectory estimation method is adopted in the indoor positioning. The heading angle and the acceleration values are provided by the magnetometer and the accelerometer, respectively. Based on the distribution characteristics of the geomagnetic field and the heading angle calculation principle, this paper proposes a dynamic calculation and correction method for the heading angle of the magnetometer navigation system. First, a dynamic error model of the magnetometer is established. Then, the correspondences of the magnetometer triaxial output at two adjacent moments are analyzed, and the formula containing the heading angle information is obtained. Then, according to the distribution characteristics of the magnetic field at the two adjacent moments, an additional formula for solving the heading angle is obtained. Finally, the heading angle can be solved by combining the above formulas. This method effectively realizes the correction and compensation of the magnetometer and improves the accuracy of the navigation system. In addition, the outdoor positioning adopts the method, which uses GNSS and INS data in combination with Kalman filtering. Further, according to the design requirements, it needs to meet the control and calculation capabilities of the entire system. Therefore, the processor unit adopts a dual-core architecture chip, which is combined by DSP kernel and ARM kernel. The Linux operation runs on ARM kernel and is responsible for the control of the entire system and data acquisition. DSP kernel is used for the data fusion navigation algorithm. The method of magnetometer calibration proposed in our paper has an accuracy within 2 m in indoor positioning. Compared with the system in [23], our system cost is also greatly reduced. The novelty of this paper is the method of dynamically solving the heading angle based on magnetometer.
The remainder of this paper is organized as follows. In Section 2, the positioning solution and location update principle are described. The methods of calculating the yaw angle and GNSS filtering are described in Section 3. The experimental measurement and performance test results are shown in Section 4. Finally, the conclusions are given in Section 5.

2. Related Work

2.1. Positioning Solution

The mobile positioning platforms shown in Figure 1 are divided into outdoor and indoor occasions. GNSS is used in outdoor part, and the trajectory estimation method is adopted in indoor part. Since the noise in the GNSS signal causes the inaccurate positioning, we combine the angular velocity and the acceleration to calculate the increment, and then correct the outdoor positioning value with Kalman filtering. When the carrier enters the room, the last point of the outdoor positioning is used as the initial point to calculate the indoor trajectory. The magnetometer is used to provide the direction of the trajectory estimation. Since the magnetometer is susceptible to the surrounding magnetic field, we introduce a magnetometer anti-interference algorithm to dynamically calculate the heading angle.

2.2. Positioning Update

The data of magnetometer and INS are used to update the positioning when the GNSS signals are weak. As shown in Figure 2, to update the coordinates of the next moment, it is necessary to know the coordinate value N n and E n of the last moment, the distance d of the motion, and the heading angle ψ . The formula is described as follows:
{ E n = E 0 + i = 0 n 1 d i · c o s ψ i N n = N 0 + i = 0 n 1 d i · s i n ψ i
Figure 2 is the grid coordinates, which need to establish a unified relationship with the latitude and longitude, as shown in Figure 3. We made the IMU and the magnetometer have the same three-axis direction. Then, the heading angle ψ in Equation (1) is composed of these three parameters: the initial direction ψ m provided by the magnetometer, the gyroscope provides a rotation angle ψ ω , and the angle difference ψ Δ between magnetic north and true north. This variable ψ Δ takes a value based on different geographic locations. In this article, the value is a negative number. The coordinates of the latitude and longitude are updated, as shown by Equations (2) and (3).
L a t ( k + 1 ) = L a t ( k ) + [ v ( k ) T 0 + 1 2 T 0 2 a ( k ) ] s i n ( ψ ω + ψ m + ψ Δ ) A
L n g ( k + 1 ) = L n g ( k ) + [ v ( k ) T 0 + 1 2 T 0 2 a ( k ) ] c o s ( ψ ω + ψ m + ψ Δ ) B
where T 0 is set to be the sampling time, L a t ( k ) is set to be the latitude of carrier at the k T 0 time, and L n g ( k ) is set to be the longitude of carrier at the k T 0 time. v ( k ) denotes the speed of the carrier in the moving direction. a ( k ) is the acceleration of the carrier. A and B indicate the proportion of length in meters to latitude and longitude locally.

3. Correction Methods Involved in the Platform

3.1. Calculation of Yaw Angle

The method of dynamically solving the heading angle based on the magnetometer is proposed in this paper, and is mainly divided into the following steps. First, the source of error in magnetometer measurements are analyzed and an error model for the magnetometer is built accordingly. The correspondence between the three-axis output of the magnetometers in the two adjacent moments is compared, and then is combined with the distribution characteristics of the geomagnetic field. A set of formulas containing the information of the heading angle is obtained. Finally, the heading angle can be calculated by solving the formulas.
The errors of magnetometers can be divided into two categories, one is the instrument error existing in the magnetometer itself, and the other is the error caused by the external environment. The first type of error can be considered as not changing with the external environment. It can be obtained by one correction. When the external environment changes, the second type of error will change accordingly, thus it can be set as a variable parameter. Therefore, the general error model of the magnetometer can be composed of the two types of errors as follows:
M ^ h = N ¯ M b + m b + E + E 0
M h is the triaxial output vector of the magnetometer. N ¯ is the total error matrix. M b is the local magnetic field vector. m b is the zero offset error vector. E is the error vector caused by the external environment. E 0 is the measurement error vector, which is generally considered to be white Gaussian noise, and can be ignored.
Regardless of the white Gaussian noise, the error model of the magnetometer can be obtained through a series of simplification changes as follows:
M ^ b = N ¯ 1 ( M ^ h m b E )
M ^ b is the triaxial output vector of the corrected magnetometer. N 1 is the inverse matrix of N .
Let M h = M ^ h m b , N = N ¯ 1 , then the above formula is expressed as:
M ^ b = N ( M h E )
In the above formula, the total error matrix N and the zero offset error vector m b do not change with the external environment. m b can be corrected once by the existing compensation method. The error vector E caused by the external magnetic field environment is an unknown variable.
When the magnetometer is in the horizontal position, the vertical direction does not need to be considered; only the data of the X and Y axes are used to calculate the heading angle. However, the magnetometer does not always maintain a horizontal position during the movement, and it would be a slight tilt, which means the magnetic field strength measured on the X-axis by the magnetometer is not a true horizontal X-axis component. Therefore, the attitude matrix is introduced to deal with this problem.
The correspondences of the magnetometer triaxial output at two adjacent moments can be expressed as:
C 1 X 1 = C 2 X 2
C 1 and C 2 are the attitude matrices corresponding to the two moments of the magnetometer, respectively. X 1 and X 2 are the triaxial output vectors of the magnetometers at two moments. The triaxial correspondence described above can be expressed as:
C b n ( k ) M ^ b ( k ) = C b n ( k + 1 ) M ^ b ( k + 1 )
C b n ( k ) is the direction cosine matrix of the platform from coordinate system (b) to the navigation coordinate system (n) at time of k . C b n ( k + 1 ) is the direction cosine matrix at time of k + 1 . M ^ b ( k ) is the triaxial output vector of the corrected magnetometer at time of k . M ^ b ( k + 1 ) is the vector at time of k + 1 .
The geographic coordinate system Northeastern (ENU) is selected as the navigation coordinate system (n-system); then, the cosine matrix of the platform from b-system to the n-system is:
C b n = [ s i n γ c o s ψ s i n γ s i n θ s i n ψ c o s θ s i n ψ s i n γ c o s ψ + s i n θ c o s γ s i n ψ c o s γ s i n ψ + s i n γ s i n θ c o s ψ c o s θ c o s ψ s i n γ s i n ψ s i n θ c o s γ c o s ψ s i n γ c o s θ s i n θ c o s γ c o s θ ]
where ψ is yaw angle. θ is pitch angle. γ is roll angle. θ and γ can be calculated by the follows:
θ = t a n 1 A y A x 2 + A y 2 + A z 2
γ = t a n 1 A x A x 2 + A y 2 + A z 2
A x , A y and A z are the output values of the triaxial accelerometer, respectively.
Since each coordinate maintains a Cartesian coordinate system in the equivalent rotation of the b-to-n-system, C b n is a unit orthogonal matrix. Then, C b n = ( C n b ) 1 = ( C n b ) T . According to Equation (8),
M ^ b ( k + 1 ) = ( C b n ( k + 1 ) ) 1 C b n ( k ) M ^ b ( k ) = ( C b n ( k + 1 ) ) T C b n ( k ) M ^ b ( k )
It also can be obtained from Equation (6) that
M ^ b ( k + 1 ) = N ( M h ( k + 1 ) E ( K + 1 ) ) = N M h ( k + 1 ) N E ( K + 1 )
Therefore,
( C b n ( k + 1 ) ) T C b n ( k ) M ^ b ( k ) = N M h ( k + 1 ) N E ( K + 1 )
Letting C b n ( k ) M ^ b ( k ) = ( x 1 y 1 z 1 ) T , N M h ( k + 1 ) = ( x 2 y 2 z 2 ) T , and N E ( K + 1 ) = ( n 1 n 2 n 3 ) T , the following can be obtained:
[ x 2 n 1 y 2 n 2 z 2 n 3 ] = [ s i n γ c o s ψ s i n γ s i n θ s i n ψ c o s γ s i n ψ + s i n γ s i n θ c o s ψ s i n γ c o s θ c o s θ s i n ψ c o s θ c o s ψ s i n θ s i n γ c o s ψ + s i n θ c o s γ s i n ψ s i n γ s i n ψ s i n θ c o s γ c o s ψ c o s γ c o s θ ] [ x 1 y 1 z 1 ]
      = [ ( s i n γ c o s ψ s i n γ s i n θ s i n ψ ) x 1 + ( c o s γ s i n ψ + s i n γ s i n θ c o s ψ ) y 1 ( s i n γ c o s θ ) z 1 ( c o s θ s i n ψ ) x 1 + ( c o s θ c o s ψ ) y 1 + ( s i n θ ) z 1 ( s i n γ c o s ψ + s i n θ c o s γ s i n ψ ) x 1 + ( s i n γ s i n ψ s i n θ c o s γ c o s ψ ) y 1 + ( c o s γ c o s θ ) z 1 ] = [ ( x 1 s i n γ + y 1 s i n γ s i n θ ) c o s ψ + ( y 1 c o s γ x 1 s i n γ s i n θ ) s i n ψ ( s i n γ c o s θ ) z 1 ( y 1 c o s θ ) c o s ψ ( x 1 c o s θ ) s i n ψ + ( s i n θ ) z 1 ( x 1 s i n γ y 1 s i n θ c o s γ ) c o s ψ + ( x 1 s i n θ c o s γ + y 1 s i n γ ) s i n ψ + ( c o s γ c o s θ ) z 1 ]
where ( x 1 y 1 z 1 ) T  are the triaxial output of the magnetometer at time k, ( x 2 y 2 z 2 ) T are the output of the magnetometer at time k + 1 , and ( n 1 n 1 n 1 ) T represents the interference on three axes. Both γ and θ are known. The unknown variable are ( ψ n 1 n 2 n 3 )
According to the idea of the limit, when the sampling time is short enough, the strength of the surrounding magnetic fields at the two adjacent moments is equal. It has the following relationship: M k = M k + 1 ; then, N ( M h E ) k = N ( M h E ) k + 1 . Since the value at time k is known, letting M k = M 0 ,
x 2 n 1 y 2 n 2 z 2 n 3 = x 1 y 1 z 1 = M 0
( x 2 n 1 ) 2 + ( y 2 n 2 ) 2 + ( z 2 n 3 ) 2 = M 0 2
According to Equations (16) and (18) and ( sin ψ ) 2 + ( cos ψ ) 2 = 1 , ψ can be obtained.

3.2. GNSS/INS Integration Based Kalman Filter

To reduce the noise in the GNSS signal, a basic Kalman filter is selected in this paper. We take the measurement result of the GNSS receiver as the observation value, and the measurement data of the IMU as the increment, and the predicted value is obtained by these two values, as shown in Figure 4. The observation result of GNSS at k − 1 time is Z k 1 and U k is the position increment obtained by IMU data at k time. The k time predicted value X ^ k is obtained by Equations (2) and (3). Then, according to X ^ k and Z k , the Kalman filter is used to solve the optimal value X k at time k. At the next moment, the k time optimal value X k and the U k + 1 are used to obtain the predicted value X ^ k + 1 at k + 1 time. Then, with Z k + 1 , the k + 1 time optimal value X k + 1 is obtained by Kalman filter, and so on. The sampling time of the system is set to 0.1 s. In addition, the magnetometer provides the initial direction for data conversion of the INS.
The formulation is described as follows:
X ^ k = ϕ × X k 1 + U k
p ^ k = ϕ × P k 1 × ϕ T + Q k
K = p ^ k × H k T × ( H k × p ^ k × H k T + R k ) 1
X k = X ^ k + K k × ( Z k H k × X ^ k )
P k = [ I K k × H k ] × p ^ k
where the subscript denotes the kth epoch, and the caret indicates a Kalman filter estimate. X is the state vector of longitude (Lng) and latitude (Lat) as follows:
X = [ L n g L a t ]
U is the system input provided by the INS which includes acceleration a and angular velocity ω . The changes in position ( Δ Lng and Δ Lat ) are obtained by the following formulas:
U = [ Δ L n g Δ L a t ]
Δ L n g = [ v k T 0 + 1 2 T 0 2 a k ] c o s ( α k 1 + ω k T 0 ) B
Δ L a t = [ v k T 0 + 1 2 T 0 2 a k ] s i n ( α k 1 + ω k T 0 ) A
Z is the measurement provided by the commercial GNSS receiver as follows:
Z = [ L n g g n s s L a t g n s s ]
H is the observation matrix and ϕ is the system propagation matrix. Both H and ϕ are used as a unity matrix in this integration. P is the state covariance. K is the Kalman gain. The process noise covariance (Q) and the measured noise covariance (R) affect the Kalman gain, which is the weight between the system prediction and the measurement update [24,25]. In general, Q and R are fixed values, resulting in a constant weighting between GNSS and INS. However, the environment between cities is different. Subsequently, constant tuning cannot yield an optimal performance [26]. An adaptive tuning algorithm is needed to describe the noise of the GNSS measurement model. An adaptive Kalman filter based on GNSS/INS integration scheme specifically was proposed for commercial flight control system [26]. This article assigns values to R and Q based on its classification results.

4. Experiment

The system platform consists of a processor unit, a GNSS receiver, an IMU and a magnetometer. The processor unit is mainly composed of OMAPL138 processor and its peripherals. It has an ARM plus DSP dual core architecture. ARM kernel of OMAPL138 processor runs Linux operation system responsible for control of the entire system and data acquisition. DSP kernel is responsible for the data calculation. The NV08C-CSM is a fully integrated multi-constellation satellite navigation receiver which can offer high precision and low power consumption. The NV08C-CSM supports National Marine Electronics Association (NMEA) protocol and binary (BINR) protocol. Compared with NMEA protocol which is a unified Radio Technical Commission for Maritime standard in different GNSS navigation devices, BINR protocol can receive more comprehensive satellite navigation raw data such as pseudo-range and signal-to-noise ratio to meet more navigation algorithms. The IMU chip can measure triaxial accelerations and triaxial angular velocity of the platform. The magnetometer chip can also measure triaxial magnetic field strength.
The data received by the processor module not only come from the GNSS receiver NV08C-CSM, but also the IMU and magnetometer. It is shown in Figure 5. During this process, the embedded processor sends BINR request command to the NV08C-CSM. The module receives the satellite signal through the antenna, and sends the BINR response message back to the processor through the Universal Asynchronous Receiver/Transmitter (UART). The IMU sends the data of triaxial acceleration and triaxial angular velocity of the platform to the processor by Inter-Integrated Circuit (I2C). The magnetometer sends the triaxial magnetic field strength to the processor by Serial Peripheral Interface (SPI). The above acquisition process is treated by the ARM, and then the data are sent to the DSP to be decoded, filtered, and fusion. Finally, the processed data are returned to the ARM and sent out through the UART. The TTL level is converted to the RS232 format output through the MAX3232 chip.
In view of the design described above, we tested every unit to ensure the circuit was correct after finishing the hardware platform. The hardware platform is shown in Figure 6. Then, the Linux operating system was transplanted on this platform.
After completing the data acquisition, the system needs to transfer the data from the ARM to the DSP. In this study, the SYSTEM LINK (SYSLINK) provided by Texas Instruments was used to achieve ARM and DSP dual-core communication. It provides a way to connect software across multiple cores with each processor running an operating system such as Linux, Quick Unix, etc. Then, it transports the data to the DSP through the SYSLINK. DSP kernel is used for the data filtering and navigation algorithm.
Before testing the performance of the platform, it some preparation and initial calibration were needed. First, the platform was connected to a computer to check whether its data were normal. The serial port settings were as follows: 115,200 bit/s baud rate, 8 data bits, 1 stop bit and no parity. Then, we started to test the performance of the board after the data acquisition program ran. The display data on the terminal are shown in Figure 7.
Usually, the magnetic field sensor has a large zero error in manufacturing. If it is not calibrated, it will bring a large measurement error. The magnetic field calibration is used to remove the zero bias of the magnetic field sensor.
The magnetometer in the platform could measures the magnetic field strength of three axes. The space vector composed of triaxial component is actually the position vector of the Earth’s magnetic field relative to the sensor. The direction of the sensor is constantly changing during the platform movement. The data are output in order while the magnetometer reads the three-axis magnetic field. We rotated the sensor around each axis so that a graph consisting of the endpoints of the vectors at each moment should be a sphere, which is centered on the origin. Figure 8a is a view projected on the XY plane. The data on the Y-axis are distributed on both sides of Point 0, which is symmetrical. However, the center Point A on the X-axis deviated from Point 0. Since the data measured by the sensor in both the positive and negative directions of the magnetic field should be the same value but opposite sign, i.e. it should be a circle centered on the origin, this situation showed that the data had zero drift.
The correction method was to sum the maximum and minimum values of the X-axis, and then half of the sum was the zero offset compensation value of the X-axis data. The corrected image is shown in Figure 8b. It is a circle centered on Point 0. Point A coincides with Point 0 at this moment. Similar processing was done on the data on the Z-axis. In this way, the angle between the heading of the carrier and the magnetic north could be obtained.
As shown in Figure 9, three scenarios were tested, as detailed in Section 4.1, Section 4.2 and Section 4.3, respectively. In this study, the true trajectories were obtained by multiple measurements using high-precision aerial mapping vehicles.

4.1. Experiment Result for GNSS/INS Filtering

The outdoor experiment was to test the outdoor positioning performance of the mobile platform, as shown in Figure 9a. The track started at START point and ended at END point. The buildings were distributed along two sides of the track. The output positioning of the mobile platform is shown in Figure 10. The black line indicates the true trajectory, the blue line indicates the trajectory of the GNSS receiver output, and the red line indicates the trajectory after filtering. As can be seen in the figure, the blue line has a more obvious oscillation. After filtering, the trajectory oscillated less, which was closer to the real trajectory. In Figure 11, the red line represents the error between the filtered trajectory and the real trajectory, while the green line represents the error between the GNSS observation trajectory and the real trajectory. Compared with the green line, the error was reduced by approximately 60%. The mean and standard deviation (STD) of the positioning errors are summarized in Table 1. The formula for the mean of positioning error is as follows:
M e a n = e r r o r 1 + e r r o r 2 + + e r r o r n n
The formula for STD of positioning error is as follows:
S T D = 1 n i = 1 n ( M e a n e r r o r i ) 2
The error mean and STD of uncorrected positioning were 1.6025 m and 0.7 m, respectively. The corrected positioning achieved a performance of 0.7 m and 0.22 m in the mean and STD of the error, respectively. The data also reflect an accuracy of about 60%.

4.2. Experiment Result for Heading Angle Correction of Magnetometer

The indoor experiment for testing the proposed mobile platform was conducted beside a source of magnetic interference, as shown in Figure 9b. The red dot in the figure indicates the location of the interference source. A magnet was used as the interference source. Paths A and B were, respectively, placed next to the interference source. The distance between Path A and the interference source was set to 0.1 m, and the distance set between Path B and the interference source was 0.6 m. This paper proposes a method that calculates and corrects the heading angle dynamically, and the purpose of the experiment was to test the effect of method under different interference intensities. The data of triaxial magnetometer under Paths A and B are shown in Figure 12a,b, respectively. The calculated heading angle is shown in Figure 13. Since both Paths A and B were straight trajectories without angular change, the value of the black line in the figure is unchanged, indicating the real angle.
The blue line indicates the uncorrected angle. Since it was closer to the interference source, the value is severely affected and the wrong part can be is seen in Figure 13a. The red line indicates the angle after correction. In Figure 13a, it does not have the same serious deviation as the blue line, and it restores the true angle more closely. The mean and STD values of the angle errors are summarized in Table 2. The error mean and STD of uncorrected angle were 13.4502 ° and 42.9705 °, respectively. The corrected angle achieved a performance of 2.1278 ° and 3.7276 ° in the mean and STD of the error, respectively. The data also reflect an accuracy of about 60%. The true angle was greatly restored.
Figure 13b shows the case of Path B. Since Path B was slightly farther from the source of interference, its value was not as severely affected. The maximum error between the blue line and the black line is about 8 °. After the correction, the error was reduced to three °. The mean and STD of the angle errors are summarized in Table 3. The error mean and STD of uncorrected angle were 2.467 °and 2.9812 °, respectively. The corrected angle achieved a performance of 1.2207 ° and 1.2267 ° in the mean and STD of the error, respectively. The accuracy was increased by about 50%.
In Figure 13a, the corrected line (red) points towards the truth while the red line in Figure 13b maintains a similar shape to the uncorrected line. The reason can be understood in conjunction with Equations (17) and (18). When the sampling time is short enough, the magnetic field strength at time k is the same as the time k + 1. When a part of the interference is filtered as the parameter n, the direction of the k + 1 moment should be maintained at the previous moment. Therefore, the corrected line (red) points towards the truth in Figure 13b. There are two differences between Figure 13a,b: the intensity of the interference and the disturbed time. As shown in Figure 13a, the interfering time was 62 s to 64 s, indicating that it was moving more quickly. The data are abrupt at 62 s, and the value at 63 s should be kept at 62 s according to the above. Thus, it pointed towards the truth.

4.3. Experiment Result for the Performance of Platform Seamless Positioning

The third experiment for testing the proposed mobile platform was a path passing through both indoor and outdoor environment. As shown in Figure 9c, the lab building and the surrounding area were chosen to test the performance of the positioning system. The entire path covered both outdoor and indoor environment, and three turns were set. A magnetic field interference source was added at the second turn to test the positioning performance. The outdoor part of the path adopted the method depicted in Section 4.1, which uses GNSS and INS data in combination with Kalman filtering. The indoor part used the method in Section 4.2, and the trajectory estimation was performed based on the heading angle solved by the magnetometer. Figure 14 shows the data read by the triaxial accelerometer during platform motion. The unit of the vertical axis is g, i.e. the gravity acceleration of the Earth. The yellow line indicates the data in the Z-axis direction, which points to the ground, thus the value is about 1× g. Since the platform moved along the Y-axis, the direction had acceleration. It can be seen in the figure that the data on the Y-axis are not 0. There was no force on the X-axis, so its value is 0. Figure 15 shows the data of the triaxial magnetometer during the platform motion.
The data output of the platform were imported into Google Maps, as shown in Figure 16. The red line in the figure represents the true trajectory, and the blue line represents the positioning of the platform output. In general, the blue line restores the real path approximately. The mean and STD of the positioning errors are summarized in Table 4. The error mean and STD of corrected positioning were 1.73 m and 1.44 m, respectively. The error of overall positioning trajectory and true trajectory was within 2 m. The result verifies the proposed method could meet the civil accuracy requirements in general operations.
In Figure 16, since the magnetometer is disturbed at the second corner, and the uncorrected heading angle is deviated, causing the trajectory to deviate from the original trajectory. Thus, the blue line deviates from the black line after the turning. After error correction, the affected degree of trajectory is greatly reduced. Therefore, the red line surrounds the real trajectory.

4.4. Discussions

The method of calculating heading angle proposed in this paper is based on magnetometer sensing data. In other methods, the heading angle can be directly obtained based on the current reading of the magnetometer. Different from that, the principle of the propose method is to separate the value n of interference and the true value of the magnetic field strength in the working environment. The value n and the value of heading angle can be obtained using Equation (15). The method achieved better performance when interference existed. It needs to be pointed out that the method is assumes that the magnetic field strength remains unchanged in the continuous two sampling time slots. To achieve that, the sampling time of magnetometer sensors must be set fast enough. For example, if the sampling time of the magnetometer is set to 6 s, the interference in the time slot between 62 s and 64 s in Figure 13a cannot be observed. Correspondingly, the method cannot get the correct solution if the head angle changes during the time. It also can be concluded by Equation (15) that the heading angel cannot be correct if interference exists in time zero.

5. Conclusions

In this paper, an embedded integrated positioning platform is presented. The platform was designed to acquire the data of GNSS, magnetometer and INS for positioning in seamless indoor/outdoor scenes. In this work, three main points are considered: First, a method to dynamically calculate and correct the heading angle is proposed, which improves the accuracy of positioning by reducing interference. Secondly, to reduce the noise in the GNSS signal, the GNSS/INS combination method by Kalman filtering is used. Finally, ARM+DSP structure is adopted to implement the functionalities of system control and calculation. Experiments were developed along planned paths on multiple occasions. Experimental results show that the method of heading angle correction could improve the accuracy by at least 60%. The error of overall positioning trajectory and true trajectory was within 2 m. In addition, the platform ran the multi-channel acquisition program steadily during the movement. It showed that the system had good performance. Furthermore, some of the platform needs to be improved. When the board is running, some chips will heat, which affects the performance of the system. Therefore, they should be separated by a little distance between in the future design. Since GNSS receiver can also receive some raw data such as pseudo-range, carrier phase, etc., these data can be used to do some tight GNSS/INS integration in the future.

Author Contributions

The corresponding author, D.W., proposed the research and was involved in writing the manuscript. Y.L. designed the experiment, performed the data analysis and drafted the manuscript. L.Z. and G.J. were responsible for data collection and were involved in the data processing.

Funding

This work was supported by National Natural Science Foundation of China (51708299) and Natural Science Foundation of Jiangsu Province (BK20150854).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Song, X.; Li, X.; Tang, W.; Zhang, W. A fusion strategy for reliable vehicle positioning utilizing RFID and in-vehicle sensors. Inf. Fusion 2016, 31, 76–86. [Google Scholar] [CrossRef]
  2. Rantanen, J.; Ruotsalainen, L.; Kirkko-Jaakkola, M.; Mäkelä, M. Height measurement in seamless indoor/outdoor infrastructure-free navigation. IEEE Trans. Instrum. Meas. 2018, 99, 1–11. [Google Scholar] [CrossRef]
  3. Xu, Q.; Li, X.; Li, B.; Song, X.; Cai, Z. A Reliable Hybrid Positioning Methodology for Land Vehicles Using Low-Cost Sensors. IEEE Trans. Intell. Transp. Syst. 2016, 17, 834–847. [Google Scholar] [CrossRef]
  4. Wu, J.; Zhou, Z.; Fourati, H.; Cheng, Y. A Super Fast Attitude Determination Algorithm for Consumer-Level Accelerometer and Magnetometer. IEEE Trans. Consum. Electron. 2018, 64, 375–381. [Google Scholar] [CrossRef]
  5. Li, X.; Chen, W.; Chan, C. A reliable multisensor fusion strategy for land vehicle positioning using low-cost sensors. Proc. Inst. Mech. Eng. Part D J. Autom. Eng. 2014, 228, 1375–1397. [Google Scholar] [CrossRef]
  6. Williamson, W.; Rios, T.; Speyer, J.L. Carrier phase differential GPS/INS positioning for formation flight. In Proceedings of the American Control Conference, San Diego, CA, USA, 2–4 June 1999; pp. 3665–3670. [Google Scholar]
  7. Zhai, Y.; Zhao, H.; Zhao, M.; Jiao, S. Design of Electric Patrol UAVs Based on a Dual Antenna System. Energies 2018, 11, 866. [Google Scholar] [CrossRef]
  8. Ambati, P.R.; Padhi, R. Robust auto-landing of fixed-wing UAVs using neuro-adaptive design. Control Eng. Pract. 2017, 60, 218–232. [Google Scholar] [CrossRef]
  9. Daroogheha, S.; Lasky, T.A.; Ravani, B. Position Measurement Under Uncertainty Using Magnetic Field Sensing. IEEE Trans. Magn. 2018, 54, 1–8. [Google Scholar] [CrossRef]
  10. Mazaheri, A.; Radan, A. Performance evaluation of nonlinear Kalman filtering techniques in low speed brushless DC motors driven sensor-less positioning systems. Control Eng. Pract. 2017, 60, 148–156. [Google Scholar] [CrossRef]
  11. Hansen, J.M.; Fossen, T.I.; Johansen, T.A. Nonlinear observer design for GNSS-aided inertial navigation systems with time-delayed GNSS measurements. Control Eng. Pract. 2017, 60, 39–50. [Google Scholar] [CrossRef]
  12. Vochin, M.; Vulpe, A.; Boicescu, L.; Georgica Obreja, S.; Suciu, G. An Intelligent Low-Power Displaying System with Integrated Emergency Alerting Capability. Sensors 2019, 19, 666. [Google Scholar] [CrossRef]
  13. Qin, H.; Cong, L.; Sun, X. Accuracy improvement of GPS/MEMS-INS integrated navigation system during GPS signal outage for land vehicle navigation. J. Syst. Eng. Electron. 2012, 23, 256–264. [Google Scholar] [CrossRef]
  14. Jiang, C.; Zhang, S.B.; Zhang, Q.Z. Adaptive estimation of multiple fading factors for GPS/INS integrated navigation systems. Sensors 2017, 17, 1254. [Google Scholar] [CrossRef]
  15. Cho, S.Y.; Kim, B.D. Adaptive IIR/FIR fusion filter and its application to the INS/GPS integrated system. Automatica 2008, 44, 2040–2047. [Google Scholar] [CrossRef]
  16. Chiang, K.W.; Huang, Y.W.; Li, C.Y.; Chang, H.W. An ANN embedded RTS smoother for an INS/GPS integrated positioning and orientation system. Appl. Soft Comput. 2011, 11, 2633–2644. [Google Scholar] [CrossRef]
  17. Li, Z.; Wang, J.; Li, B.; Gao, J.; Tan, X. GPS/INS/Odometer integrated system using fuzzy neural network for land vehicle navigation applications. J. Navig. 2014, 67, 967–983. [Google Scholar] [CrossRef]
  18. Gao, Y.; Liu, S.; Atia, M.M.; Noureldin, A. INS/GPS/LiDAR integrated navigation system for urban and indoor environments using hybrid scan matching algorithm. Sensors 2015, 15, 23286–23302. [Google Scholar] [CrossRef] [PubMed]
  19. Xu, X.; Wang, Y.; Xu, H.; Tong, X.; Liu, X.; Tang, J. A Framework for GPS/INS based Portable Positioning System. In Proceedings of the 2012 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Seoul, Korea, 14–17 October 2012; pp. 2495–2499. [Google Scholar]
  20. Park, S.G.; Jeong, H.C.; Kim, J.W.; Hwang, D.H.; Lee, S.J. Magnetic compass fault detection method for GPS/INS/magnetic compass integrated navigation systems. Int. J. Control Autom. Syst. 2011, 9, 276. [Google Scholar] [CrossRef]
  21. Li, G.; Geng, E.; Ye, Z.; Xu, Y.; Lin, J.; Pang, Y. Indoor Positioning Algorithm Based on the Improved RSSI Distance Model. Sensors 2018, 18, 2820. [Google Scholar] [CrossRef]
  22. Gao, S.; Zhong, Y.; Zhang, X.; Shirinzadeh, B. Multi-sensor optimal data fusion for INS/GPS/SAR integrated navigation system. Aerosp. Sci. Technol. 2009, 13, 232–237. [Google Scholar] [CrossRef]
  23. Pasku, V.; De Angelis, A.; De Angelis, G.; Arumugam, D.D.; Dionigi, M.; Carbone, P.; Moschitta, A.; Ricketts, D.S. Magnetic field based positioning systems. IEEE Commun. Surv. Tutor. 2017, 19, 2003–2017. [Google Scholar] [CrossRef]
  24. Han, S.; Wang, J. Integrated GPS/INS navigation system with dual-rate Kalman Filter. GPS Solut. 2012, 16, 389–404. [Google Scholar] [CrossRef]
  25. Seo, J.; Lee, H.K.; Lee, J.G.; Park, C.G. Lever arm compensation for GPS/INS/odometer integrated system. Int. J. Control Autom. Syst. 2006, 4, 247–254. [Google Scholar]
  26. Zhang, G.; Hsu, L.T. Intelligent GNSS/INS integrated navigation system for a commercial UAV flight control system. Aerosp. Sci. Technol. 2018, 80, 368–380. [Google Scholar] [CrossRef]
Figure 1. Positioning solution of the mobile positioning platform.
Figure 1. Positioning solution of the mobile positioning platform.
Sensors 19 01696 g001
Figure 2. Track positioning.
Figure 2. Track positioning.
Sensors 19 01696 g002
Figure 3. Heading angle conversion
Figure 3. Heading angle conversion
Sensors 19 01696 g003
Figure 4. The process of solving the optimal value.
Figure 4. The process of solving the optimal value.
Sensors 19 01696 g004
Figure 5. The architecture of the proposed system platform.
Figure 5. The architecture of the proposed system platform.
Sensors 19 01696 g005
Figure 6. Hardware platform.
Figure 6. Hardware platform.
Sensors 19 01696 g006
Figure 7. Partial measurement data.
Figure 7. Partial measurement data.
Sensors 19 01696 g007
Figure 8. Magnetic field projected on the XY plane: (a) uncorrected data; and (b) corrected data.
Figure 8. Magnetic field projected on the XY plane: (a) uncorrected data; and (b) corrected data.
Sensors 19 01696 g008
Figure 9. Testing scenarios for the proposed integrated positioning system: (a) testing the positioning effect of GNSS/INS; (b) testing the correction effect under the interference of different magnetic field strength; and (c) testing platform seamless positioning performance.
Figure 9. Testing scenarios for the proposed integrated positioning system: (a) testing the positioning effect of GNSS/INS; (b) testing the correction effect under the interference of different magnetic field strength; and (c) testing platform seamless positioning performance.
Sensors 19 01696 g009
Figure 10. Track of movement.
Figure 10. Track of movement.
Sensors 19 01696 g010
Figure 11. Tracking error.
Figure 11. Tracking error.
Sensors 19 01696 g011
Figure 12. Output of triaxial magnetometer: (a) triaxial magnetic field data under large interference; and (b) triaxial magnetic field data under small interference.
Figure 12. Output of triaxial magnetometer: (a) triaxial magnetic field data under large interference; and (b) triaxial magnetic field data under small interference.
Sensors 19 01696 g012
Figure 13. Heading angle results for two paths: (a) angle in large interference; and (b) angle in small interference.
Figure 13. Heading angle results for two paths: (a) angle in large interference; and (b) angle in small interference.
Sensors 19 01696 g013
Figure 14. Triaxial acceleration data.
Figure 14. Triaxial acceleration data.
Sensors 19 01696 g014
Figure 15. Triaxial magnetic field strength.
Figure 15. Triaxial magnetic field strength.
Sensors 19 01696 g015
Figure 16. Track of seamless the indoor/outdoor movement.
Figure 16. Track of seamless the indoor/outdoor movement.
Sensors 19 01696 g016
Table 1. Test Occasion 1: Mean and STD of the positioning error for the GNSS Observation and Kalman Filter.
Table 1. Test Occasion 1: Mean and STD of the positioning error for the GNSS Observation and Kalman Filter.
GNSS ObservationKalman Filter
Mean of positioning error (m)1.60250.5626
STD of positioning error (m)0.70.22
Table 2. Test Occasion 2: Mean and STD of the heading angle error under large interference.
Table 2. Test Occasion 2: Mean and STD of the heading angle error under large interference.
UncorrectedCorrected
Mean of angle error (°)13.45022.1278
STD of angle error (°)42.97053.7276
Table 3. Test Occasion 2: Mean and STD of the heading angle error under small interference.
Table 3. Test Occasion 2: Mean and STD of the heading angle error under small interference.
UncorrectedCorrected
Mean of angle error (°)2.46701.2207
STD of angle error (°)2.98121.2267
Table 4. Test Occasion 4: Mean and STD of the positioning error of the seamless indoor/outdoor positioning.
Table 4. Test Occasion 4: Mean and STD of the positioning error of the seamless indoor/outdoor positioning.
UncorrectedCorrected
Mean of positioning error (m)8.451.73
STD of positioning error (m)10.771.44

Share and Cite

MDPI and ACS Style

Wang, D.; Lu, Y.; Zhang, L.; Jiang, G. Intelligent Positioning for a Commercial Mobile Platform in Seamless Indoor/Outdoor Scenes based on Multi-sensor Fusion. Sensors 2019, 19, 1696. https://doi.org/10.3390/s19071696

AMA Style

Wang D, Lu Y, Zhang L, Jiang G. Intelligent Positioning for a Commercial Mobile Platform in Seamless Indoor/Outdoor Scenes based on Multi-sensor Fusion. Sensors. 2019; 19(7):1696. https://doi.org/10.3390/s19071696

Chicago/Turabian Style

Wang, Dongsheng, Yongjie Lu, Lei Zhang, and Guoping Jiang. 2019. "Intelligent Positioning for a Commercial Mobile Platform in Seamless Indoor/Outdoor Scenes based on Multi-sensor Fusion" Sensors 19, no. 7: 1696. https://doi.org/10.3390/s19071696

APA Style

Wang, D., Lu, Y., Zhang, L., & Jiang, G. (2019). Intelligent Positioning for a Commercial Mobile Platform in Seamless Indoor/Outdoor Scenes based on Multi-sensor Fusion. Sensors, 19(7), 1696. https://doi.org/10.3390/s19071696

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