Next Article in Journal
Can a Quantum Walk Tell Which Is Which?A Study of Quantum Walk-Based Graph Similarity
Previous Article in Journal
About Universality and Thermodynamics of Turbulence
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Unsupervised Indoor Positioning System Based on Environmental Signatures

1
Key Lab of Electronic and Communication Engineering, Heilongjiang University, Harbin 150080, China
2
Department of Computer and Information Sciences, Dire-Dawa Institute of Technology, Dire Dawa 3000, Ethiopia
*
Author to whom correspondence should be addressed.
Entropy 2019, 21(3), 327; https://doi.org/10.3390/e21030327
Submission received: 17 January 2019 / Revised: 21 March 2019 / Accepted: 22 March 2019 / Published: 26 March 2019
(This article belongs to the Section Information Theory, Probability and Statistics)

Abstract

:
Mobile sensors are widely used in indoor positioning in recent years, but most methods require cumbersome calibration for precise positioning results, thus the paper proposes a new unsupervised indoor positioning (UIP) without cumbersome calibration. UIP takes advantage of environment features in indoor environments, as some indoor locations have their signatures. UIP considers these signatures as the landmarks, and combines dead reckoning with them in a simultaneous localization and mapping (SLAM) frame to reduce positioning errors and convergence time. The test results prove that the system can achieve accurate indoor positioning, which highlights its prospect as an unconventional method of indoor positioning.

1. Introduction

In outdoor environments, the Global Navigation Satellite System (GNSS) can provide satisfactory positioning, but satellite signals are blocked by walls, causing no signal in the rooms. At the same time, as the indoor environments become more complex, and indoor activities become more frequent, the demand for indoor positioning is increasingly strong.
In order to achieve better indoor positioning results, a lot of research has been carried out. Many papers focus on WiFi indoor positioning based on received signal strength, a common local positioning approach with a number of prominent advantages such as low cost and ease of deployment. Ref. [1] proposed an indoor positioning method based on a Monte Carlo algorithm. Ref. [2] proposed the improved indoor position estimation algorithm based on geo-magnetism intensity, which compensates for the flaw of particle filter. Ref. [3] also presented a novel method, and it proposed a low-cost and easy-to-realize positioning system, which uses FM Radio Signal Strength fingerprinting.
Many of today’s localization systems for indoor and outdoor positioning are based on propagation time measurements of radio signals. Ref. [4] proposed a new WiFi-based positioning method to make the access point (AP) signal features more complete. Ref. [5] proposed two indoor positioning algorithms based on channel state information (CSI). Ref. [6] proposed a new fingerprint-based WiFi indoor positioning system, which is realized by extracting and analyzing the individual multipath propagation delay.
However, in order to achieve high positioning accuracy in the presence of non line of sight (NLOS) propagation, these systems require either an expensive manual calibration or additional information. Many paper introduced unsupervised positioning without these costs. Ref. [7] proposed a Wi-Fi radio maps (WRMs) calibration system that automates the initial construction and maintenance of radio maps using crowdsourced fingerprints collected from numerous smartphones without location information. The system incorporates an unsupervised learning algorithm into an incremental and adaptive calibration process. Ref. [8] proposed an unsupervised indoor localization scheme that uses the combination of smartphone sensors, iBeacons and Wi-Fi fingerprints for reliable and accurate indoor localization with zero labor cost. Ref. [9] proposed a novel approach for a channel impulse response (CIR) based fingerprint system, which reduces the calibration and measurement effort and simultaneously improves localization results. Inspired by this, the paper designed an unsupervised indoor positioning system to reduce development costs and improve positioning accuracy.
Although there are many works about indoor positioning, there are still some problems: some indoor positioning technologies rely on customized installations, which reduces their scalability [10,11]. The positioning systems based on WiFi [12,13], while providing ubiquitous positioning, require cumbersome calibration works. Some systems can reduce the works [14,15,16], but most need to reduce positioning accuracy. The dead reckoning approach based on sensors of smartphones has begun to receive attention [17,18] in recent years, which uses an accelerometer to calculate the displacement of the user and a compass to learn the orientation of the user. Ref. [19] proposed a method of indoor navigation using a microelectromechanical systems (MEMS)-based strapdown inertial navigation system (INS) aided by Wi-Fi signal strength measurements. Ref. [20] proposed an algorithm to detect the stride using acceleration spectrogram feature by utilizing the accelerometer in a smartphone. The dead reckoning error is quickly accumulated, so the user position needs to be recalibrated.
The paper proposes an unsupervised indoor positioning (UIP) system, using sensors on smartphones to detect unique indoor points, such a place where a unique group WiFi APs can be received, which can reset the errors in dead reckoning. Starting with the building layout generated manually or automatically [21,22,23], the system discovers the landmarks through the crowd-sensing method. The landmarks are then used to reset the errors in the dead reckoning, resulting in higher positioning accuracy. The test results prove that the system can achieve accurate indoor positioning, showing the prospect of UIP as an unconventional method of indoor positioning.
The rest of this paper is organized as follows: Section 1 introduces the shortcomings of existing indoor positioning research and the research done in this paper. Section 2 introduces how the system uses sensor data to get the displacement and orientation of the user, and proposes a novel method by using landmark in the positioning process. Section 3 describes how to define landmarks by sensor data features and how to identify different landmarks in the experiment, and it is an important innovation in the paper. Section 4 introduces simultaneous localization and mapping and how it works in positioning systems. Section 5 tests the system UIP from different aspects, and the results prove that it has excellent positioning performance. Section 6 provides the conclusions.

2. Related Work

There are also two representative indoor positioning systems: the Horus system and the MaLoc system, and they are compared with the UIP system in the test. The Horus system identifies different causes for the wireless channel variations and addresses them to achieve its high accuracy. It uses location-clustering techniques to reduce the computational requirements of the algorithm. The Horus system works in two phases. The offline phase builds the radio map, clusters radio map locations, and conducts other preprocessing of the signal strength models. The online phase estimates the user location based on the received signal strength from each access point and the radio map prepared in the offline phase.
The MaLoc is built on a proposed augmented particle filter. To minimize errors in motion estimation and improve the robustness of particle filter, it augments the particle filter with a dynamic step length estimation algorithm and a heuristic particle resampling algorithm. It uses a hybrid measurement model which combines a new magnetic fingerprinting model and the existing magnitude fingerprinting model to improve the system performance and avoid calibrating different smartphone magnetometers.
This paper is inspired by these two methods, using a probability calculation method similar to the Horus system, and using the magnetic signal as the positioning technology, which is the method of the MaLoc system. At the same time, this paper has made improvements to the two systems. The main improvements are as follows:
  • The paper uses multi-domain sensors to make up for the single signal to be easily affected by the environment, and the positioning accuracy is insufficient. For example, Horus system is susceptible to noise in the channel.
  • The paper proposes global landmarks, which has not been seen in past positioning systems. Global landmarks enable the system to obtain certain environmental information in advance, which helps to improve positioning accuracy.
  • This paper makes use of the simultaneous localization and mapping (SLAM) architecture and framework that leverages smart phone sensors to both dead-reckon the user location and identify semantic landmarks. These landmarks are used in a SLAM probabilistic framework to reset the accumulated localization error. It makes the UIP system have high positioning accuracy without initial manual calibration.

3. Mobile Sensor Positioning

3.1. Dead Reckoning

Dead reckoning is the method to estimate the track of the users and it needs to sample the user’s motion data (e.g., acceleration). The algorithm can calculate the possible displacement and direction of the user from these data, and finally calculate the possible position of the user at the next sampling. In the mobile device positioning system, accelerometer and compass are used to get acceleration and orientation, then process and calculate these data to get the possible position of the user at the next time. Starting from a point which is known, the user’s position at time t is updated by the control variable u t = { l t , ϕ t } , where l t is the displacement and ϕ t is the orientation change.
(1)
Displacement: It can be calculated simply by the direct integral of the accelerometer reading which can be obtained by acceleratometer. However, it has a bad positioning error. As shown in Figure 1, after the actual displacement of 30 m, the deviation of the estimated value exceeds 100 m; this is due to the noise and low sampling rate of the accelerometer and the jitter of the phone when the user is walking. The paper uses another effective method.
It is identifying the feature of the user’s walking [18,24]. The feature comes from the natural upward/downward rebound of the body at every step. To capture it, the accelerometer signal is processed by a low-pass filter, and the system identifies two consecutive local minimum, if the difference value between maximum and minimum is larger than the given threshold, it will be considered as a step of the user, and the displacement is calculated by multiplying the steps by the step size.
(2)
Orientation: Traditional approaches rely on the compass, which can indicate the orientation by the magnetic field. However, it is noisy and seriously impacts positioning results. Gyroscope is also used in the paper, and it can measure relative palstance, which is a three-dimensional rotation matrix, and the relative angular displacement (RAD) can be obtained when the matrix is multiplied by a time interval. The path structure of the user can be tracked by the gyroscope; however, the estimated path has an error in the initial orientation. As shown in Figure 2a, all of these paths are rotated versions of the real path.
Landmarks can correct the deviation. As shown in Figure 2b, the position X 1 of the user at time t 1 is known, dead reckoning with initial bias θ estimates that the position is X 3 at time t 2 , and the real position is X 2 . Assuming that the user encounters the landmark L 2 at time t 2 and the location of L 2 is X 2 , which is known, the algorithm thus considers that the the location of the user is X 2 , which is an accuracy position.

3.2. Landmark Introduction

3.2.1. Landmark Density Indoors

According to observations, signals in indoor environments are abundant, such as sound, light, and magnetic field. In addition, some building structures force the user to move in specific ways, which might create some unique patterns on the sensors. Some signatures may appear after analyzing different sensor signals.
WiFi landmark: The indoor environments have many WiFi areas where all locations can receive a different set of WiFi APs, and they are in different sizes. Figure 3 shows the size distribution of WiFi AP coverage areas. If the phone can hear a group of WiFi APs in a small area, it can be considered to be in the area. The figure measures the CDF of WiFi coverage area, for example, if x is 5, y is 0.2, which means there are 20% WiFi APs, and every one of them covers an area not more than 5 m 2 . From the figure, we can know the approximate proportion of WiFi APs that are suitable as landmarks. If the area is small, the positioning error is small. There are eight and five WiFi landmarks in small areas found on the two floors of the laboratory building, and each size is less than 4 m 2 .
Magnetic/accelerometer landmark: In order to search for signatures in the magnetic sensor/accelerometer, the paper performs K-means clustering on their measurements. The members of every cluster are mapped to the corresponding physical location. The member locations in most clusters are widely dispersed in space. Fortunately, the members of some clusters are spatially tightly coupled and can be used as landmarks. Different landmarks will be combined to improve positioning accuracy and the specific method will be explained in the next section.

3.2.2. Location Estimate

Suppose the system combines the different sensor data and uses k-means clustering, and discovers three sensor signatures that can be used as landmarks, as shown in Figure 4a.
Considering that dead reckoning has random error, the paper calculates position of the landmark by combining multiple dead reckoning estimates of a landmark. Intuitively, estimation errors are random and independent due to noises on the sensor and human step size. By combining these estimations with errors, it is expected that the mean will converge to a more accurate location. Figure 4b illustrates the feasibility of this method by simple calculation of centroid, where the circle represents the center of dead reckoning estimate—each one has a large error but multiple estimates with errors yield a better estimate. In order to avoid positioning errors due to approximation landmark patterns, landmarks should be in small areas and they will be identified combining with the WiFi signal. The specific method is described in the next section.

3.2.3. The Effect of Regular Error Compensation

This section is added to verify the effect of landmarks in actual positioning, and the landmarks that are here are not the ones used in the system, but some simple alternatives. The way to get them is also very simple. The user walks naturally in the building with a smartphone from the entrance of the floor, and the system records readings in the inertial sensors and extracts the tuple <time, displacement, direction>. The doors and windows are marked with different numbers, and the user enters them into the system when passing through these places. These numbers are the alternatives of actual landmarks. Since the mapping is known, the actual position of the user can be known, and the effect of the landmark for the estimation error is simulated in this way. The experiment collected 10 traces starting from the entrance.
As shown in Figure 5, when pure dead-reckoning without landmark is used (black curve), the error is accumulated rapidly. The error can be corrected periodically by using the landmarks (blue curve). Although the performance is improved, the average positioning error is still about 11 m. Thus, the experiment processes the gyroscope readings to calculate the angular change during walking. Note that gyroscope readings are relative and need to be combined with the compass to infer the absolute orientation. Once the gyroscope and compass are combined (red curve), the error is significantly reduced. Adding landmark calibration on the basis (pink curve), the average error is further reduced. Figure 5 shows the effect of the landmarks, and it is necessary to further design the landmark system.

4. Landmark Design

This section details the landmarks of the UIP system. Landmarks refer to signals or combinations of signals in an indoor environment that can be captured by sensors and whose sensor patterns are unique in the environment so that the system can determine the location of the sensor based on landmarks. According to whether the locations can be known in advance, the landmarks are divided into global landmarks and local landmarks.

4.1. Local Landmark

Local landmarks (LLMs) are similar to designs in most unsupervised positioning systems. We obtain the floor graph at first and the system can learn the structure of the building and the coordinates of every point in the building. It is necessary for the radio map. In the offline phase, the user walks naturally along the corridor in the building. Since there are various signals in the indoor environment (here mainly WiFi and magnetic signals), the sensors of the mobile phone capture these signals during walking. The application on the phone can grab the sensor data and transfer it to the server for processing. Defining the signals with high levels of recognition on sensor pattern. The sensor patterns of LLMs cannot be obtained in prior and they are local features of the indoor environment, e.g., WiFi distribution in a certain area, and the phone cannot hear the same WiFi set when it leaves the area.
Due to the complexity and diversity of indoor signals, it is important to select an effective signal from a number of signals as a local landmark. In the paper, we choose WiFi and magnetic signal as landmarks because they are ubiquitous in indoor environments and the sensors of the mobile phone can easily obtain these signals. The tasks of finding local landmarks need to (1) distinguish different patterns from the sensed signals, and (2) test if the pattern is limited to a small area spatially. Figure 6 shows the operational flow, and the sensor data are collected by crowd sensing. The process can be shown in matrix form: the element <m,n> is sensor readings of the phone m at time n. The features of magnetic/inertial sensors include average, maximum, minimum, variance and average crossover, and they are media access control (MAC) ID and received signal strength indicator (RSSI) for WiFi.
The collected features are normalized, and then the clustering algorithm is performed for every sensing dimension and the combination of different signals (e.g., an accelerometer and a compass) to find the clusters having low similarity to other clusters. Given a cluster, calculate the correlation between it and other clusters. If every value is not larger than the threshold, the cluster will be a candidate. Then, test the area of the cluster. Test if all members of the cluster are in the same WiFi coverage area at first. If they do, calculate the location of each cluster member. If all members are in a small area (about 4 m 2 , the same below), the cluster is considered as a landmark.
(1) WiFi landmark: The MAC ID and RSSI are used as features. K-means clustering is applied to identify small areas with low similarity to all locations outside the regions. Assuming that a phone can receive WiFi AP sets A 1 and A 2 at locations l 1 and l 2 , respectively, and the similarity S between l 1 and l 2 is
S = 1 | A | a A m i n ( f 1 ( a ) , f 2 ( a ) ) m a x ( f 1 ( a ) , f 2 ( a ) ) ,
where A = A 1 A 2 , f i ( a ) is the RSSI of AP received by the phone at l i , a A . The basic principle of the above equation is that, when the AP signal is equally strong at two locations, the similarity of the two locations is proportionally increased, and vice versa. S [ 0 , 1 ] . The paper chooses 0.4 as the threshold. Figure 7 shows the results of the test in a building in the university, and 0.4 is the point that balances the quality and quantity of WiFi landmarks.
(2) Magnetic/inertial landmarks: There are some turns in the indoor environment. Since gyroscopes provide reliable angular displacement, they have the opportunity to be used as landmarks. The feature called the bending factor is designed in the paper, which captures the concept of path curvature. Similar turns in the same WiFi area will be in the same cluster, and the algorithm will also check whether the cluster is limited to a small area when this coefficient and WiFi are integrated as a feature. Magnetic landmarks are defined by the similar process, and the magnetic field somewhere needs to be significantly different from other places and within a small area. Then, it can be considered as a landmark.

4.2. Global Landmark

Global landmarks (GLMs) is a novel concept, and the idea comes from thinking about the user’s own movement state: since the data from the surrounding environment can be used to calculate the coordinates of the user, the user’s own motion characteristics may also reflect the characteristics of the environment, and this data can be used as a new landmark. We naturally divide the user’s motion state into elevators, stairs, escalators, walking and static state, and these motion data can be obtained by inertial sensors. Their signal characteristics are usually unaffected by the environment, such as the user’s movement in the elevator in any building is almost the same. On the other hand, these movements often correspond to certain objects, such as elevators, and we can immediately know where they are through floor plans. These two features make them well suited for indoor positioning.
The collection process of GLMs data is the same as LLMs, and it is necessary to identify different kinds of GLMs by sensor patterns. Every one has its own pattern on magnetic sensor or inertial sensor. The following content will analyze the patterns of different GLMs.
Elevator: The typical process includes normal walking time, waiting for a period of time, walking into the elevator, overweight/weightlessness, then a stationary time period, the other overweight/weightlessness and finally leaving. As shown in Figure 8, the accelerometer exhibits distinct features. To identify elevator motion patterns, a finite state machine (FSM) is used, which relies on observed state transitions, and different thresholds are set for transition.
Escalator: After the elevator is identified, it is effortless to distinguish the escalator and the static from the walking and the stairs by the variance of the acceleration. The next step is to further distinguish the escalator from the static state, and the magnetic field’s variance can be used to identify them since the escalator is driven by the motor and the motor affects the surrounding magnetic field. As shown in Figure 9, the waveform of the static state is more stable.
Stairs: Finally, the stairs and walking need to be distinguished. When using stairs, gravity will have an obvious effect on the speed increase or decrease of the user. Compared to walking, there is higher correlation between the acceleration in the orientations of gravity and motion when users use stairs.
Landmark database is built in the offline phase, and each one has its coordinates in the radio map. The dataset of GLMs is easy to build because their location is known in advance. If we want to add a GLM (e.g., elevator) to the map, we only need to collect the required signal near each elevator and then mark it in the radio map according to the location of the elevator in the building. In contrast, the collection of landmark information requires a man to continuously walk in the experimental environment, sample various types of signals (such as user’s acceleration, environmental WiFi signal) at a fixed frequency, and upload them to the server to choose suitable ones as landmarks according to the above requirements.

5. Simultaneous Localization and Mapping

In an unknown environment, the user collects information from the surrounding environment (landmarks) while walking, determines the position of the surrounding by the landmark data, and corrects the coordinates of the landmark by its own position. This mode is consistent with SLAM, so the previous dead reckon and landmark system are integrated into the unified SLAM framework. This section will introduce corresponding background and the SLAM algorithm in the paper.

5.1. Background

5.1.1. EKF-SLAM

SLAM is a concept for mobile robots [25] and the idea is used for human positioning in the paper. The system estimates the map ( Θ ) as well as the user’s pose (position ( x t , y t ) and orientation ( o t )) at time t on a probabilistic framework:
f = p ( s t , Θ | u t , z t , n t ) ,
where u t = u 1 , , u t is the control variable update history, u t is the control variable (displacement and orientation change) obtained by the sensors at time t 1 . z t = z 1 , , z t is the user’s observation history of the environment. n t = n 1 , , n t are data association variables, and n t is the landmark’s identity observed at time t.
Extended Kalman filter (EKF) is a common method [26,27] which uses a high dimensional Gaussian density distribution. It decomposes P ( s t , θ | u t , z t , n t ) into two independent models as Equations (3) and (4), where θ n t is the location of the landmark n t ,
p ( s t | u t , s t 1 ) = h ( u t , s t 1 ) + δ t ,
p ( z t | s t , Θ , n t ) = g ( s t , θ n t ) + ε t ,
where h and g are nonlinear functions, δ t and ε t are Gaussian noise variables whose covariances are R t and P t , respectively.
The method has two limitations, the computational complexity, which is the quadratic of the landmark number, and the data association problem, i.e., how to recognize the detected landmarks when signatures of two or more landmarks are similar.

5.1.2. FastSLAM

FastSLAM combines particle filters (PF) [28,29] and EKF, and it takes advantage of the structural properties of the SLAM problem: given the motion path, the landmark estimations are independent conditionally, i.e., the correlation of the uncertainty of the landmark estimation depends only on the uncertainty of the path. When the path is known, the estimation errors of different landmarks are independent of each other.
Given the number N of landmarks, the path s t = ( s 1 , , s t ) is estimated as Equation (5):
a p ( s t , Θ | z t , u t , n t ) = p ( s t | z t , u t , n t ) n = 1 N p ( θ n | s t , z t , n t ) .
Since the path of the user is unknown, FastSLAM estimates the path s t through the particle filter, and it uses particles to represent possible paths where each probability density function p ( θ n | s t , z t , n t ) is estimated using EKF. Based on the particles, each map errors are independent conditionally. The posterior ( S t [ m ] ) of the mth particle contains the path s t , [ m ] and N landmark estimates, which is represented by the observed landmark type f ^ n , t , mean μ n , t [ m ] and covariance Σ n , t [ m ] , as shown in Equation (6),
S t [ m ] = s t , [ m ] , f ^ 1 , t , μ 1 , t [ m ] , Σ 1 , t [ m ] L a n d m a r k θ 1 , . . . , f ^ N , t , μ N , t [ m ] , Σ N , t [ m ] L a n d m a r k θ N .
Compared to EKF-SLAM, the computational complexity of FastSLAM is logarithmically related to the number of landmarks. In addition, data association decisions can be performed on each particle, thus maintaining multiple posteriors of data associations, which is more robust [30]. FastSLAM can also handle nonlinear models, and it has been shown to converge under certain assumptions [31]. The UIP system will use the SLAM algorithm based on FastSLAM.

5.2. SLAM Algorithm

Like other SLAM algorithms, the algorithm involves sampling, map update, resampling and assuming there is only one landmark observed at a time to keep the algorithm generic.

5.2.1. Pose Estimation

Given the control variable u ^ t from the dead reckoning, the measure z t at time t and the pose s t 1 [ m ] , the pose of the particle [ m ] at time t is sampled as shown in Equation (7). All data can be obtained from the previous section, dead reckoning provides the user’s motion status, while sensor data also provides landmark observations.
s t [ m ] P ( s t | s t 1 , [ m ] , u t , z t , n t ) .
Equation (7) can be expressed as a product of the pose distribution and the probability of measure z t ,
p ( s t | s t 1 , [ m ] , u t , z t , n t ) = p ( s t | s t 1 [ m ] , u t ) s t N ( h ( s t 1 [ m ] , u t ) , P t ) η [ m ] p ( z t | θ n t , s t , n t ) z t N ( g ( θ n t , s t ) , R t ) p ( θ n t | s t 1 , [ m ] , z t 1 , n t 1 ) θ n t N ( μ n t , t 1 [ m ] , Σ n t , t 1 [ m ] ) ,
where P t is the covariance matrix of the control data at time t and R t is the measure covariance at time t. Given the last pose s t 1 [ m ] and the control data u t = { l ^ t , ϕ ^ t } , including estimated displacement l ^ t and orientation change ϕ ^ t , the pose at time t can be predicted as
s ^ t [ m ] P ( s t | s t 1 [ m ] , u t ) .
Assuming that the errors satisfy Gaussian distribution, l t [ m ] and ϕ t [ m ] satisfy following probability distributions:
l t [ m ] N ( l ^ t , σ l ) ,
ϕ t [ m ] N ( ϕ ^ t , σ ϕ ) ,
where σ l and σ ϕ are the variances of the estimation errors. Equation (9) can be rewritten as follows:
s ^ t [ m ] , ϕ = s t 1 [ m ] , ϕ + ϕ t [ m ] ,
s ^ t [ m ] , x = s t 1 [ m ] , x + l t [ m ] c o s ( s ^ t [ m ] , ϕ ) ,
s ^ t [ m ] , y = s t 1 [ m ] , y + l t [ m ] s i n ( s ^ t [ m ] , ϕ ) .
Equations (10)–(14) are concrete implementations of the nonlinear function h in Equation (3).
The probability of measure z t involves the integration over all possible landmark locations θ n t , and it is impossible generally. To solve this problem, the algorithm approximates g in Equation (3) to a linear function, resulting in the function in Equation (15).
g ( θ n t , s t ) z ^ t [ m ] + G θ ( θ n t μ n t , t 1 [ m ] ) + G s ( s t s ^ t [ m ] ) ,
where μ n t , t 1 [ m ] is the mean of the estimated position of landmark n t at time t, and θ n t [ m ] = μ n t , t 1 [ m ] is the estimated landmark location. G θ and G s are the Jacobian of g about θ and s. Therefore, Equation (7) obeys the Gaussian distribution with the following parameters:
Σ s t [ m ] = ( G s T ( Q t [ m ] ) 1 G s + P t 1 ) 1 ,
μ s t [ m ] = s ^ t [ m ] + Σ s t [ m ] G s T Q t [ m ] 1 ( z t z ^ t [ m ] ) ,
where Q t [ m ] = G θ Σ n t , t 1 [ m ] G θ T + R t is the covariance matrix of landmark observation, and z t is the actual observation of landmark location.
z ^ t [ m ] = g ( μ n t , t 1 [ m ] , s ^ t [ m ] ) = μ n t , t 1 [ m ] s ^ t [ m ] .
It is known from Equation (18) that the algorithm measures the distance between the user and the landmark.

5.2.2. Map Update

The map update is updating the location of the current detected landmark. The algorithm updates the estimate of the observed landmark according to Equation (19),
p ( θ n t | s t , [ m ] , n t , z t ) = η [ m ] p ( z t | θ n t , s t [ m ] , n t ) z t N ( g ( θ n t , s t [ m ] ) , R t ) p ( θ n t | s t 1 , [ m ] , z t 1 , n t 1 ) θ n t N ( μ n t , t 1 [ m ] , Σ n t , t 1 [ m ] ) .
Recall that g is linearized to retain Gaussian distribution of the posterior. This leads to the following update Equations (20)–(22). The derivation of them is equal to that of the EKF measure update:
K t [ m ] = Σ n t , t 1 [ m ] G θ T Q t [ m ] 1 ,
μ n t , t [ m ] = μ n t , t 1 [ m ] + K t [ m ] ( z t z ^ t [ m ] ) ,
Σ n t , t [ m ] = ( I K t [ m ] G θ ) Σ n t , t 1 [ m ] .
The algorithm inherits the properties of FastSLAM and there are many possible landmark hypotheses, each of which corresponds to an individual particle which has its own judgment about the landmark, and this kind of multi-estimation attribute offers SLAM robustness to errors.

5.2.3. Resampling

As the particles generated may not match the desired posterior, it is necessary to resample to remove the particles with great errors and put more in the right area. The reason that some particles generated do not yet match the desired posterior is η in Equation (19), which may be different for different particle particle. The normalizer is the inverse of the probability of the measurement: η [ m ] = p ( z t | s t 1 , [ m ] , u t , z t 1 , n t ) 1 . To account for this mismatch, the algorithm resamples in proportion to the following importance factor:
w t [ m ] p ( z t | s t 1 , [ m ] , u t , z t 1 , n t ) = p ( z t | θ n t , s t , n t ) z t N ( g ( θ n t , s t ) , R t ) p ( θ n t | s t 1 , [ m ] , u t 1 , z t 1 , n t 1 ) θ N ( μ n t , t 1 [ m ] , Σ n t , t 1 [ m ] ) d θ n t p ( s t | s t 1 [ m ] , u t ) s t N ( s ^ t 1 [ m ] , P t ) d s t .
The distribution in Equation (23) can be approximated as a Gaussian distribution by linearizing g with the mean z ^ t and covariance G s P t G s T + G θ Σ n t , t 1 [ m ] G θ T + R t .
In addition, the algorithm selects the data association n t satisfying Equation (24):
n ^ t [ m ] = arg max n t p ( z t | n t , n t 1 , [ m ] , s t , [ m ] , z t 1 , u t ) .
The distribution in Equation (24) is calculated as follows:
p ( z t | n t , n t 1 , [ m ] , s t , [ m ] , z t 1 , u t ) = p ( z t | θ n t , n t , s t [ m ] ) z t N ( g ( θ n t , s t [ m ] ) , R t ) p ( θ n t | n t 1 , [ m ] , s t 1 , [ m ] , z t 1 ) θ n t N ( μ n t , t 1 [ m ] , Σ n t , t 1 [ m ] ) .
It can be seen that linearization of g generate a Gaussian distribution over z t with mean g ( μ n t , t 1 [ m ] , s t [ m ] ) and covariance Q t [ m ] , both of which are functions of the data assocaition variable n t .

6. Results and Discussion

6.1. Experiment Introduction

This section evaluates the performance of UIP. Installing a UIP application on the phone and granting the required permissions so that it can grab sensor data from the phone, then send them to the server over the network. The system is implemented on an Android phone. When users walk, the sensors on the phone will get his pose information. The data is sampled (gyroscope at highest permissible rate; other sensors at 24 Hz) and then they are sent to the server for processing. The server side code is written using C♯ and MATLAB (MATLAB2017a, MathWorks, Natick, MA, USA), and all algorithms run on the server. When a new landmark is detected, the server will update the landmark list. Physics laboratory building is selected as the experimental platform, and all landmarks are decomposed into: eight turns, nine magnetic, 15 WiFi landmarks and three global landmarks. In the experiment, three users move around the building to collect data, and each user can use the landmarks detected by the previous users.
Figure 10 shows the plan of the experimental area and some landmarks within it. Everyone walks along the corridor from the entrance to the floor.

6.2. Landmark Detection

6.2.1. Global Landmark

Figure 11 shows the false positive and false negative rates of different GLMs, and it can be seen that some landmarks are easier to detect than other landmarks as the unique patterns. Most values are zero in Figure 11, and the overall false positive rate and false negative rate are about 0.002 and 0.011, respectively, which means that the detection of GLMs is accurate.

6.2.2. Local Landmark

Figure 12a,b show the location accuracy of the calculated landmark and the number of the observed landmarks change over time respectively. As more users explore the environment, the number of landmarks will increase over time, and the accuracy of the landmarks will also increase as different paths lead to different independent estimates. In about 2 h, the average positional accuracy can converge to less than 1 m.
Factually, data in the experiment is limited in the diversity of paths for the limitation of motion areas, and positioning accuracy may increase due to increased path diversity in practical applications. It can be seen from Figure 12c that the false positive rate detected by the three types of landmarks in the experiment is less than 1%, indicating that the matching accuracies are quite high. Similar to GLM, different LLMs have different detection accuracy due to different patterns, but each landmark has an accuracy of more than 60%.

6.2.3. Landmark Quantity

Although there are a large number of landmarks in the experimental platform, it is difficult to learn how many landmarks exist in other environments, and whether there will be a large impact on positioning if there are fewer landmarks in some buildings. Figure 13 shows the positioning errors of different numbers of landmarks, and even though there are only 10 landmarks, the average positioning error is less than 2 m. In addition, landmarks based on more dimensions (e.g., acoustic signal) can be selected if needed.

6.3. UIP Positioning Assessment

6.3.1. Factors Affecting Performance

This section evaluates the impact of different factors on the positioning performance, and the main indicator is the cumulative distribution function (CDF).
(1) Particle number: The comparison result is shown in Figure 14. It can be seen that the positioning accuracy of 50 particles is greatly improved compared with that of 25 particles; however, if the number of particles continues to increase, the positioning accuracy will not be significantly improved, and the amount of calculation will increase greatly. Therefore, the performance is saturated with about 50 particles where the median accuracy is about 0.53 m, and the number is used in subsequent experiments.
(2) Global Landmark: Figure 15 compares the CDF of positioning error with/without GLMs. In Figure 15, the average error still can be less than 1.5 m without GLMs, and in the case of using global landmarks, the performance is greatly improved, CDF within one meter increases by about two times, which is 0.8; the value is over 0.9 within 2 m, which increased by 0.1, indicating that the GLM is a successful idea.
(3) Error over time: The Euclidean distance error of the system is calculated to evaluate the positioning accuracy, and Figure 16 shows the variation of the error over time, which is undulating. Due to noise in the sensor readings, the error increases as the user walks, and it will decline when a landmark is observed. As more landmarks are observed, map accuracy increases and user positioning errors decrease, hence the overall trend of the curve is decreasing. The average positioning error does not exceed one meter, which is enough to satisfy most indoor positioning tasks.
(4) Online and offline: Figure 17 shows the error distributions in two patterns. In offline patterns, the system learns its error when a user encounters a landmark, so it can track and partially correct past traces, which is not available in online mode. The figure shows that offline system can observably improve the smearing of distribution in online positioning, and the median distance error is slightly enhanced too. Moreover, although the positioning accuracy of the online mode is not as good as offline mode, its error is basically controlled within 1 m.

6.3.2. SLAM Framework

In order to evaluate the SLAM framework in Chapter 4, the systems with/without the SLAM framework are compared in convergence time and positioning accuracy. Uncertainty of landmarks or user locations is considered in the SLAM system, which is not available in the non-SLAM system.
(1) Convergence time: It is the time from the beginning to the point where the positioning accuracy tends to be stable. The length of convergence time affects the positioning efficiency of the system. Figure 18 shows that the accuracy of the SLAM system converges quickly within 1 h and eventually achieves an average accuracy of approximately 0.83 m, and it is better than the non-SLAM system, which converges to an average accuracy of about 1 meter after 2 h.
(2) Error distribution: Figure 19 compares the error distribution of the systems with/without SLAM. It can be seen that, after using the SLAM framework, the positioning accuracy is improved significantly, and the median positioning error goes down by about one meter. In the SLAM system, CDF of the positioning error within one meter is about 0.8, while it is about 0.3 in the non-SLAM system. The error of system with SLAM is basically controlled within two m, it can significantly improve the accuracy. As can been seen from Figure 18 and Figure 19, the SLAM system can obtain a high positioning accuracy in a short period of time.

6.3.3. Other Systems

The UIP system is compared with two classical systems: the WiFi fingerprint identification system [32] and the magnetic fingerprint recognition system [33]. Figure 20 shows that the UIP has a smaller median positioning error which is about 0.5 m, while it is about 0.7 m in the WiFi system and it exceeds one meter in the magnetic system. In addition, CDF of the localization error in UIP exceeds 0.8 within one meter and 0.9 within 1.5 m, which has an obvious advantage over other systems. However, they have better worst-case errors due to the initial manual calibration, and the distribution has a shorter tail.

7. Conclusions

In order to avoid the complicated calibration of indoor positioning, an unsupervised indoor positioning (UIP) system is proposed in the paper, which uses landmarks to compensate for the error of dead reckoning. The dead reckoning and landmark observation data are input into the SLAM algorithm to realize online positioning of users.This paper validates the feasibility of the idea of landmarks and provides detailed descriptions of the landmarks and the SLAM framework. The experiments are carried out in many aspects, showing that UIP can find different landmarks accurately, and the probability of error identification is less than 1%. In addition, the positioning error can converge quickly, eventually achieving a median positioning error of 0.53 m, which is better in the offline mode. Compared with the two classical algorithms, UIP also has obvious advantages in positioning accuracy. Future works will be expanding the system, including coordinated positioning of multiple people, using other sensors such as acoustic sensors and optical sensors.

Author Contributions

P.F. conceived the presented idea. P.F. and D.Q. developed the theory and performed the computations. P.F., D.Q., M.Z., R.G. and T.M.B. discussed the results and contributed to the final manuscript.

Funding

This research was funded by Support by the National High Technology Research and Development Program of China (2012AA120802), the National Natural Science Foundation of China (61771186), the Postdoctoral Research Project of Heilongjiang Province (LBH-Q15121), and the Undergraduate University Project of Young Scientist Creative Talent of Heilongjiang Province (UNPYSCT-2017125).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
UIPUnsupervised Indoor Positioning
SLAMSimultaneous Localization and Mapping
GNSSGlobal Navigation Satellite System
APAccess Point
CSIChannel State Information
RSSIReceived Signal Strength Indication
CDFCumulative Distribution Function

References

  1. Hou, X.; Arslan, T. Monte Carlo localization algorithm for indoor positioning using Bluetooth low energy devices. In Proceedings of the International Conference on Localization and GNSS (ICL-GNSS), Nottingham, UK, 27–29 June 2017; pp. 1–6. [Google Scholar]
  2. Song, J.; Jeong, H.; Hui, S.; Park, Y. Improved indoor position estimation algorithm based on geo-magnetism intensity. In Proceedings of the 2014 International Conference on Indoor Positioning and Indoor Navigation(IPIN), Busan, Korea, 27–30 October 2014; pp. 741–744. [Google Scholar]
  3. Zhang, Y.; Deng, L.; Yang, Z. Indoor positioning based on FM radio signals strength. In Proceedings of the 2017 First International Conference on Electronics Instrumentation & Information Systems (EIIS), Harbin, China, 3–5 June 2017; pp. 1–5. [Google Scholar]
  4. Ding, H.; Zheng, Z.; Zhang, Y. AP weighted multiple matching nearest neighbors approach for fingerprint-based indoor localization. In Proceedings of the International Conference on Ubiquitous Positioning, Indoor Navigation and Location Based Services (UPINLBS), Shanghai, China, 3–4 November 2016; pp. 218–222. [Google Scholar]
  5. Kui, W.; Mao, S.; Hei, X.; Li, F. Towards accurate indoor localization using channel state information. In Proceedings of the International Conference on Consumer Electronics-Taiwan (ICCE-TW), Taichung, Taiwan, 19–21 May 2018; pp. 1–2. [Google Scholar]
  6. Zayets, A.; Steinbach, E. Robust WiFi-based indoor localization using multipath component analysis. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sapporo, Japan, 18–21 September 2017; pp. 1–8. [Google Scholar]
  7. Jung, S.-H.; Han, D. Automated Construction and Maintenance of Wi-Fi Radio Maps for Crowdsourcing-Based Indoor Positioning Systems. IEEE Access 2018, 6, 1764–1777. [Google Scholar] [CrossRef]
  8. Zhang, Y.; Chen, J.; Xue, W. Unsupervised indoor localization based on Smartphone Sensors, iBeacon and Wi-Fi. In Proceedings of the 2018 Ubiquitous Positioning, Indoor Navigation and Location-Based Services (UPINLBS), Wuhan, China, 22–23 March 2018; pp. 1–8. [Google Scholar]
  9. Szabo, A.; Weiherer, T.; Bamberger, J. Unsupervised Learning of Propagation Time for Indoor Localization. In Proceedings of the 2011 IEEE 73rd Vehicular Technology Conference (VTC Spring), Yokohama, Japan, 15–18 May 2011; pp. 1–5. [Google Scholar]
  10. Want, R.; Hopper, A.; Falcao, V.; Gibbons, J. The active badge location system. ACM Trans. Inf. Syst. 1992, 10, 91–102. [Google Scholar] [CrossRef] [Green Version]
  11. Niculescu, D.; Nath, B. VOR base stations for indoor 802.11 positioning. In Proceedings of the 10th Annual International Conference on Mobile Computing and Networking, Philadelphia, PA, USA, 26 September–1 October 2004; pp. 58–69. [Google Scholar]
  12. Bahl, P.; Padmanabhan, V.N. RADAR: An in-building RF-based user location and tracking system. In Proceedings of the 19th Annual Joint Conference of the IEEE Computer and Communications Societies, Tel Aviv, Israel, 26–30 March 2000; pp. 775–782. [Google Scholar]
  13. Youssef, M.; Youssef, A.; Rieger, C. Pinpoint: An asynchronous time-based location determination system. In Proceedings of the 19th Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, USA, 23–29 April 2006; pp. 165–176. [Google Scholar]
  14. Krishnan, P.; Krishnakumar, A.S.; Ju, W.H.; Mallows, C.; Gamt, S.N. A system for LEASE: Location estimation assisted by stationary emitters for indoor RF wireless networks. In Proceedings of the International Conference on Computer Communicat, Hong Kong, China, 7–11 March 2004; pp. 1001–1011. [Google Scholar]
  15. Cheng, Y.C.; Chawathe, Y.; LaMarca, A.; Krumm, J. Accuracy characterization for metropolitan-scale Wi-Fi localization. In Proceedings of the 3rd International Conference on Mobile Systems, Applications, and Services, Seattle, WA, USA, 6–8 June 2005; pp. 233–245. [Google Scholar]
  16. Chintalapudi, K.; Padmanabha, I.A.; Padmanabhan, V.N. Indoor localization without the pain. In Proceedings of the Sixteenth Annual International Conference on Mobile Computing and Networking, New York, NY, USA, 20–24 September 2010; pp. 173–184. [Google Scholar]
  17. Youssef, M.; Yosef, M.A.; El-Derini, M. GAC: Energy-efficient hybrid GPS-accelerometer-compass GSM localization. In Proceedings of the IEEE Global Telecommunication Conference, Miami, FL, USA, 6–10 December 2010; pp. 1–5. [Google Scholar]
  18. Constandache, I.; Choudhury, R.R.; Rhee, I. Towards mobile phone localization without war-driving. In Proceedings of the International Conference on Computer Communications, San Diego, CA, USA, 15–19 March 2010; pp. 1–9. [Google Scholar]
  19. PanyovA, A.; Golovan, A.A.; Smirnov, A.S. Indoor positioning using Wi-Fi fingerprinting pedestrian dead reckoning and aided INS. In Proceedings of the 2014 International Symposium on Inertial Sensors and Systems(ISISS), Laguna Beach, CA, USA, 25–26 February 2014; pp. 1–2. [Google Scholar]
  20. Kim, Y.; Eyobu, O.S.; Han, D.S. ANN-based stride detection using smartphones for Pedestrian dead reckoning. In Proceedings of the 2018 IEEE International Conference on Consumer Electronics (ICCE), Las Vegas, NV, USA, 12–15 January 2018; pp. 1–2. [Google Scholar]
  21. Alzantot, M.; Youssef, M. Crowdinside: Automatic construction of indoor floorplans. In Proceedings of the 20th International Conference on Advances in Geographic Information Systems, New York, USA, 7–9 November 2012; pp. 99–108. [Google Scholar]
  22. Elhamshary, M.; Youssef, M. CheckInside: A fine-grained indoor location-based social network. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing, Seattle, WA, USA, 13–17 September 2014; pp. 607–618. [Google Scholar]
  23. Elhamshary, M.; Youssef, M. SemSense: Automatic construction of semantic indoor floorplans. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation (IPIN), Banff, AB, Canada, 13–16 October 2015; pp. 1–11. [Google Scholar]
  24. Evennou, F.; Marx, F. Advanced integration of WiFi and inertial navigation systems for indoor mobile positioning. EURASIP J. Appl. Signal Process. 2006, 2006, 164. [Google Scholar] [CrossRef]
  25. Durrant-Whyte, H.; Bailey, T. Simultaneous localization and mapping: Part I. IEEE Robot. Autom. Mag. 2006, 13, 99–110. [Google Scholar] [CrossRef]
  26. Moutarlier, P.; Chatila, R. An experimental system for incremental environment modelling by an autonomous mobile robot. In Proceedings of the International Symposium on Experimental Robotics, Québec City, QC, Canada, 18–21 June 2012; pp. 327–346. [Google Scholar]
  27. Moutarilier, P. Stochastic multisensory data fusion for mobile robot location and environment modeling. In Proceedings of the 5th International Symposium on Robotics Research, Tokyo, Japan, 28–31 August 1989. [Google Scholar]
  28. Doucet, A.; De Freitas, N.; Gordon, N. An introduction to sequential Monte Carlo methods. In Sequential Monte Carlo Methods in Practice; Doucet, A., De Freitas, N., Gordon, N., Eds.; Publishing House: New York, NY, USA, 2001; pp. 3–14. [Google Scholar]
  29. Liu, J.S. Chen R.Sequential Monte Carlo methods for dynamic systems. J. Am. Stat. Assoc. 1998, 93, 1032–1044. [Google Scholar] [CrossRef]
  30. Montemerlo, M.; Thrun, S.; Koller, D. FastSLAM: A factored solution to the simultaneous localization and mapping problem. In Proceedings of the 8th National Conference on Artificial Intelligence (AAAI-02), Edmonton, AB, Canada, 28 July–1 August 2002; pp. 1032–1044. [Google Scholar]
  31. Michael, M.; Sebastian, T.; Daphne, K. Fastslam 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges. In Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence (IJCAI), Edmonton, AB, Canada, 28 July–1 August 2002. [Google Scholar]
  32. Youssef, M.; Agrawala, A. The Horus WLAN location determination system. In Proceedings of the 3rd International Conference on Mobile Systems, Applications, and Services, Seattle, WA, USA, 6–8 June 2005; pp. 205–218. [Google Scholar]
  33. Xie, H.; Gu, T.; Tao, X.; Ye, H.; Lv, J. Maloc: A practical magnetic fingerprinting approach to indoor localization using smartphones. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing, Seattle, WA, USA, 13–17 September 2014; pp. 243–253. [Google Scholar]
Figure 1. The positioning error is quickly accumulated with the movement.
Figure 1. The positioning error is quickly accumulated with the movement.
Entropy 21 00327 g001
Figure 2. (a) path estimates; (b) using the landmark to correct the deviation.
Figure 2. (a) path estimates; (b) using the landmark to correct the deviation.
Entropy 21 00327 g002
Figure 3. WiFi area distribution.
Figure 3. WiFi area distribution.
Entropy 21 00327 g003
Figure 4. (a) landmarks are encountered while walking; (b) the estimation of landmark location.
Figure 4. (a) landmarks are encountered while walking; (b) the estimation of landmark location.
Entropy 21 00327 g004
Figure 5. Comparison of positioning errors.
Figure 5. Comparison of positioning errors.
Entropy 21 00327 g005
Figure 6. The process of data collection and classification.
Figure 6. The process of data collection and classification.
Entropy 21 00327 g006
Figure 7. The landmark number over the threshold.
Figure 7. The landmark number over the threshold.
Entropy 21 00327 g007
Figure 8. Process of accelerometer signal change.
Figure 8. Process of accelerometer signal change.
Entropy 21 00327 g008
Figure 9. Magnetic difference between the static and escalator.
Figure 9. Magnetic difference between the static and escalator.
Entropy 21 00327 g009
Figure 10. Experimental area plan in 54 m × 42.6 m.
Figure 10. Experimental area plan in 54 m × 42.6 m.
Entropy 21 00327 g010
Figure 11. Global landmark recognition.
Figure 11. Global landmark recognition.
Entropy 21 00327 g011
Figure 12. (a) landmark positioning accuracy over time. (b) the number of landmarks discovered over time; (c) recognition rate of different landmarks.
Figure 12. (a) landmark positioning accuracy over time. (b) the number of landmarks discovered over time; (c) recognition rate of different landmarks.
Entropy 21 00327 g012
Figure 13. Comparison of systems with different landmark numbers.
Figure 13. Comparison of systems with different landmark numbers.
Entropy 21 00327 g013
Figure 14. Comparison of systems with different particle numbers.
Figure 14. Comparison of systems with different particle numbers.
Entropy 21 00327 g014
Figure 15. Comparison of systems with/without global landmarks.
Figure 15. Comparison of systems with/without global landmarks.
Entropy 21 00327 g015
Figure 16. Positioning error over time.
Figure 16. Positioning error over time.
Entropy 21 00327 g016
Figure 17. Comparison of online/offline systems.
Figure 17. Comparison of online/offline systems.
Entropy 21 00327 g017
Figure 18. Positioning accuracy over time.
Figure 18. Positioning accuracy over time.
Entropy 21 00327 g018
Figure 19. Positioning error distributions.
Figure 19. Positioning error distributions.
Entropy 21 00327 g019
Figure 20. Comparison of unsupervised indoor positioning(UIP) with two other systems.
Figure 20. Comparison of unsupervised indoor positioning(UIP) with two other systems.
Entropy 21 00327 g020

Share and Cite

MDPI and ACS Style

Feng, P.; Qin, D.; Zhao, M.; Guo, R.; Berhane, T.M. Unsupervised Indoor Positioning System Based on Environmental Signatures. Entropy 2019, 21, 327. https://doi.org/10.3390/e21030327

AMA Style

Feng P, Qin D, Zhao M, Guo R, Berhane TM. Unsupervised Indoor Positioning System Based on Environmental Signatures. Entropy. 2019; 21(3):327. https://doi.org/10.3390/e21030327

Chicago/Turabian Style

Feng, Pan, Danyang Qin, Min Zhao, Ruolin Guo, and Teklu Merhawit Berhane. 2019. "Unsupervised Indoor Positioning System Based on Environmental Signatures" Entropy 21, no. 3: 327. https://doi.org/10.3390/e21030327

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