Proceedings of MoMM2007
An Improved Particle Swarm Optimization for Indoor Positioning Hui ZHU, Huan WANG, Bo HUANG, Yuji TANABE and Takaaki BABA The Graduated School of Information, Production and Systems Waseda University 2-7 Hibikino, Wakamatsu, Kitakyushu, Fukuoka, Japan
[email protected] kan
[email protected] [email protected] [email protected] [email protected]
Abstract: Particle Swarm Optimization (PSO) is a newly appeared technique for evolutionary computation. It was originated as a simulation for a simplified social system such as the behavior of bird flocking or fish schooling. An improved PSO algorithm (IPSO) is introduced to solve the nonlinear optimization for indoor positioning. The algorithm achieves the optimal coordinates through iterative searching. Compared with standard PSO algorithm, the algorithm converges faster and can find the global best position. The error of position estimated by this algorithm is smaller than that estimated in Taylor Series Expansion (TSE) and Genetic Algorithm (GA). Thus this algorithm is proven to be a fast and effective method in solving nonlinear optimization for indoor positioning.
1
Introduction
The popularity of wireless access infrastructure and mobile devices satisfies requirements to access the required services ubiquitously. Meanwhile, providing additional value-added services based on wireless access infrastructure gets more and more interest. Indoor positioning is one of the possibilities. Many domains get benefits from indoor positioning of mobile units to provide useful applications and services, such as museum tour-guide, hospital health-care and location-based handoff. In the network base architectures, the network receives signals from mobile unit and utilizes necessary operation to evaluate location of mobile unit. The position estimations rely on different techniques: received signal strength indicator (RSSI), angle of arrival (AOA), time of arrival (TOA), time advance (TA), time difference of arrival
135
Proceedings of MoMM2007
(TDOA), location fingerprinting or hybrid TDOA/AOA [1-5]. However, not all techniques are suitable for indoor positioning because of the complexity in indoor environment. The PSO algorithm shown in Appendix A is a new sociologically inspired stochastic optimization algorithm introduced by Kennedy and Eberhart in 1995 [6]-[8]. The PSO algorithm is easy to implement, has few parameters, and has been shown to converge faster than traditional techniques like Genetic Algorithm (GA) for a wide variety of benchmark optimization problems. By initializing a random particle swarm, each particle keeps track of its coordinates in the problem space. It is demonstrated that PSO algorithm gets better results in a faster, cheaper way compared with other methods. In past several years, PSO has been successfully applied in many research and application areas. In this paper we suggested to utilize an improved PSO (IPSO) which is shown in Appendix A to solve nonlinear optimization in TOA techniques. This paper is organized as following sections. In section 2, the general idea of position estimated in IPSO is demonstrated. The process of utilizing IPSO to resolve nonlinear optimization in TOA technique is explained in section 3. The simulated results are discussed and compared. In the end, summarization and conclusion are given in section 4.
2
General Idea of Position Estimation in IPSO Algorithm
The general idea of position estimation is explained in Fig.1. In Fig.1 (a), there is a square room with side length L. As an example, four locators (locator0, locator1, locator2 and locator3) are deployed in this room. Coordinates of locators (X0 , Y0 ), (X1 , Y1 ), (X2 , Y2 ) and (X3 , Y3 ) are predetermined. The distances between locators and tag are measured in TOA technique. As an initial condition, the distance between tag and locators expressed as R0 , R1 , R2 and R3 are obtained through measurement. Tag position (x, y) is unknown at this stage. Above situation is system input conditions. The IPSO is utilized to estimate tag position as illustrated in Fig.1 (b). In Fig.1 (c) the global best position (pgx , pgy ) is considered as system output. It effectively corresponds to tag position. The measured distance between tag and locator m is expressed as:
Rm =
(Xm − x)2 + (Ym − y)2 + Ed ∗ rand
(m = 0, 1, . . . , n − 1)
(1)
where (x, y) is an assumed coordinate of the tag, (Xm , Ym ) is the coordinates of locator m, Ed is the maximum value of measured distance error and rand is an uniformly distributed random number between 0 and 1. Based on above assumption, system process for searching the coordinates of tag is performed as follows. Three particles are deployed into the room randomly: particle0 (x0 , y0 ), particle1 136
Proceedings of MoMM2007
Figure 1: General idea of position estimated in IPSO algorithm: (a) distance estimated in TOA technique with measured distance error, (b) position estimated in IPSO and (c) estimated results and error.
(x1 , y1 ) and particle2 (x2 , y2 ). The distances between particle and locators are calculated. For example, the distance between particle1 and locator2 is D1,2 . These particles will move to the tag based on the principle of IPSO. The details process will be shown in the next section. Finally, the particles stop around the tag which is shown in Fig.1 (c). Global best position (pgx , pgy ) is considered as the tag position. It is the system output information. The error distance between tag and global best position is Ep . If the Ep is smaller, the advantage of indoor positioning in IPSO is demonstrated.
3
The Process of Position Estimation
Figure 2 shows estimation process of the tag. More detail process and its practical performance are discussed in this section. 3.1
System Initialization
This system is initialized as shown in Fig.2 (a). Locators are deployed in the certain position of a square room. Tag is deployed randomly. The number of locators is set to nine in this example. The coordinates of nine locators are (0, 0), (0, 50), (0, 100), (50, 0), (50, 50), (50, 100), (100, 0), (100, 50) and (100, 100) (unit: m). The distances between tag and locators are measured as defined in equation (1).
137
Proceedings of MoMM2007
Figure 2: Estimation process of tag in IPSO
3.2
Estimation Process in IPSO
In the second step the program uses IPSO to estimate tag position. (1)In this stage, as explained in Fig.2 (b), 20 particles are initialized. The particles are 0 0 deployed in the room with randomly position (x0i , yi0 ) and velocity (vix , viy ). (2)The program calculates the distance between particle i and locator m:
Di,m =
(Xm − xti )2 + (Ym − yit )2
(m = 0, 1, . . . , 8), (i = 0, 1, . . . , 19), (t = 0, 1, . . . , T ) (2)
(3) The optimization fitness function of particle i at loop time t is expressed as: Fi (t) =
9
(Di,m − Rm )2
(i = 0, 1, . . . , 19)
(3)
m=1
Fi (t) is the key point of this program. If the optimization fitness function Fi is small, the distance between the particle i and tag is short. When Fi is zero, particle i reaches the position of tag. From previous loop time tp to current loop time tc , the position of particle i is determined based on a velocity defined in equation (A-1) and (A-2) in Appendix A. For particle i, compare current Fi (tc ) with fitness evaluation Fi (tp ) which is local best position (plx , ply ) at previous
138
Proceedings of MoMM2007
Figure 3: Average position error Ep,average as the function of (a)particle number n and (b) loop time T for standard PSO and IPSO. The size of room is 100*100 m2
loop. If Fi (tc ) is smaller than Fi (tp ), current position for particle i is recognized as new ”local best position”. Otherwise, the local best position is kept as it is. The comparison are performed over entire (i = 0 ∼ 19). Then compare Fi (tc ) (i = 0, 1, . . . , 19) with fitness evaluation Fi (tp ) for global best position (pgx , pgy ). Find the smallest value among them. That is recognized as new ”global best position”. 3.3
Estimated Results and Error
In the third step, the program is completed after loop time T . As explained in Fig.1 (c) and Fig.2 (c), all particles converge into the global best position (pgx , pgy ). This position is the optimal solution estimated in IPSO. It is considered as system output. The position error Ep is defined as:
Ep = 3.4
(pgx − x)2 + (pgy − y)2
(4)
Convergence in Standard PSO and IPSO
In this section the convergence of IPSO is evaluated. The Ep is investigated as the function of particle number n and loop time T in both standard PSO and IPSO. Simulation is executed over one thousand times to evaluate the convergence of IPSO. The position of tag is randomly placed in each time. The average position error Ep,average is expressed as:
139
Proceedings of MoMM2007
Ep,average
1000 = [Ep ]2 /1000
(5)
m=1
As show in Fig.3 (a), Ep,average decreases as particles number increases in standard PSO and IPSO. The loop time is set to 50 in this case. The Ep,average estimated in IPSO is less than that in standard PSO under any certain particle number. To achieve certain Ep,average , IPSO needs less particles number. The calculation complexity in IPSO coulde be reduced. As show in Fig.3 (b), Ep,average decreases as loop time increases in standard PSO and IPSO. The particle number is set to 5 in this case. The Ep,average estimated in IPSO is less than that in standard PSO under any loop time. To achieve certain Ep,average , IPSO needs less loop time. The calculation time could be shorten in IPSO. It is found that IPSO converges faster than standard PSO with less computation complexity. The computation time could be shorten and complexity could be reduced. In this way IPSO can find the global best position more quickly with smaller Ep,average . 3.5
Comparison in Three Different Algorithms
For TOA techniques, several kinds of algorithms have been extensively studied and widely utilized for position estimation. The position estimated in Taylor Series Expansion (TSE) [9], Genetic and IPSO algorithm were compared in this section. The loop time in TSE algorithm is set to 10. The population number is set to 40 in GA. The number of mutation children is set to 15. The number of elitist is set to 5. The loop time in GA is set to 50. Parameters in IPSO are same as previous definition. For each algorithm, Simulation are executed over one thousand time for different simulation conditions. The position of tag is randomly placed in each time. Figure 4 (a) shows the Ep,average as the function of maximum measured distance error Ed . The side length of square room is 100 m. The coordinates of nine locators are (0, 0), (0, 50), (0, 100), (50, 0), (50, 50), (50, 100), (100, 0), (100, 50) and (100, 100) (unit: m). The Ed is increased from 0.1 to 10 m. The Ep,average estimated for three algorithms are almost same when Ed is less than 1 m. As the Ed is increased from 1 to 10 meter, the Ep,average estimated by TSE and GA become larger than the Ep,average estimated by the IPSO. It is obvious that IPSO shows better position accuracy. Figure 4 (b) shows the Ep,average for various side length of square room. Ed is set to 10 m in this case. The side length is increased from 50 to 100 m. The topology of locators is same as
140
Proceedings of MoMM2007
Figure 4: Average position error Ep,average as the function of (a) maximum measured distance error Ed and (b) side length of square room.
previous but scales down with side length. All the other parameters are the same as previous definition. It is obvious that the Ep,average estimated by TSE algorithm increases along with side length. GA is insensitive to the change of side length. The Ep,average estimated by IPSO decreases along with side length. For various side lengths, Ep,average estimated in IPSO is smallest. TSE algorithm is widely used in solving nonlinear equations, but its performance is highly dependent on the initial estimation. The initial estimation is not necessary in IPSO and GA. The advantage of the IPSO over the GA is its algorithmic simplicity. The GA typically requires three major operators: selection, crossover, and mutation. In the IPSO, however, there is one simple operator: velocity calculation. The advantage of dealing with fewer operators means the reduction of computation. The software and hardware implementation of IPSO should be simpler than that of GA.
4
Conclusions
In this paper IPSO is suggested to solve nonlinear optimization in TOA technique. The simulated results show that if parameters are assumed reasonably, the algorithm converges faster than standard PSO. Compared with GA, IPSO is attractive because there are very few parameters to adjust. Optimal solution can be quickly and effectively reached with IPSO. Compared with TSE and GA, the IPSO shows smallest position error in various environments. It is proven that IPSO is an effective method for solving nonlinear optimization for indoor positioning.
141
Proceedings of MoMM2007
5
Acknowledgement
The work was supported by funds from MEXT via Kitakyushu innovative cluster projects and Matsushita Electric Industrial Co.,Ltd..
References [1] M. Hata and T. Nagatsu, Mobile Location using Signal Strength Measurements in a Cellular System, IEEE Trans. On Vehicular Technology, pp. 221-225, 1991. [2] W. C. Jakes, Microwave Mobile Communications, IEEE Press, 1994 [3] G. Turin, W. Jewell, and T. Johnston, Simulation of urban vehicle-monitoring systems, in IEEE Trans. on Vehicular technology, vol. VT-21, pp. 9-16, Feb 1972. [4] C. H. Knapp and G. Clioeord Carter, The Generalized Correlation Method of Estimation of Time Delay, IEEE Transactions on Acoustics, Speech and Signal Processing, vol. 24, no. 4, pp. 320-327, August 1976. [5] L. Izzo, A. Napolitano, and L. Paura, Modified Cyclic Methods for Signal Selective TDOA Estimation, IEEE Transactions on Signal Processing, vol. 42, no. 11, pp. 3294-3298, November 1994. [6] R.C. Eberhart and J. Kennedy, A new optimizer using particle swarm theory, Proceedings of the Sixth International Symposium on Micro Machines and Human Science, 4 - 6 Oct. 1995, pp. 39-43. [7] R.C. Eberhart and Y. Shi, Particle swarm optimization: applications and resources, Proceedings of the 2001 Congress on Evolutionary Computation, vol. 1, 27-30 May 2001, pp. 81-86. [8] A. Ratanaweera, S.K. Halgamuge and H.C. Watson, Self-organizing hierarchical particle swarm optimizer with timeCvarying acceleration coefficients, IEEE Transactions on Evolutionary Computation, vol. 8, June 2004, pp. 240- 255. [9] W.H.Foy, Position-Location Solutions hy Taylor Series Estimation, IEEE Trans on Aerospace and Electronic Systems, Vol. AES-12, No 2 pp. 187-194, March 1976.
6
Appendix A: The Principle of IPSO Algorithm
In standard PSO, the velocity and position of the particle i are updated based on following equations: t+1 t vix = ω ∗ vix + c1 ∗ r1 ∗ (plx − xti ) + c2 ∗ r2 ∗ (pgx − xti ) (A − 1) t+1 t = ω ∗ viy + c1 ∗ r3 ∗ (ply − yit ) + c2 ∗ r4 ∗ (pgy − yit ) viy
(A − 2)
t+1 = vix + xti xt+1 i
(A − 3)
t+1 + yit yit+1 = viy
(A − 4)
ω = (ωmax − t ∗ (ωmax − ωmin )/T )
(A − 5)
where the acceleration constants c1 and c2 are equal to 2.0 respectively, r1 to r4 are uniformly distributed random numbers between 0 and 1, the total loop time is T . Inertia weight ω is decreased linearly from maximum value ωmax to minimum value ωmin during loop time T . 142
Proceedings of MoMM2007
In IPSO, the equations of ω, c1 , c2 , xt+1 and yit+1 are modified as: i ω = r5 ∗ (ωmax − t ∗ (ωmax − ωmin )/T )
(A − 6)
c1 = r6 ∗ (cmax − t ∗ (cmax − cmin )/T )
(A − 7)
c2 = r7 ∗ (cmax − t ∗ (cmax − cmin )/T )
(A − 8)
t+1 xt+1 = k ∗ vix + xti i
(A − 9)
t+1 yit+1 = k ∗ viy + yit
(A − 10)
phi = 4 ∗ (1 + r8 )
(A − 11)
k = 2/|2 − phi −
phi2 − 4 ∗ phi|
(A − 12)
where r5 to r8 are uniformly distributed random numbers between 0 and 1, c1 and c2 are decreased linearly from maximum value cmax to minimum value cmin during loop time T , k is utilized to control the convergence speed.
143