1 Introduction

With the popularization of smart devices and the development of mobile Internet, there is an increasing demand for indoor positioning. Indoor localization-based services can support many application scenarios, such as public security and emergency response and positioning navigation. Diverse technologies have been developed for precise indoor localization. Localization technology based on Global Position System (GPS) and maps have been widely used. But GPS location signals are not able to penetrate buildings; they are unable to work indoors. In order to overcome the GPS positioning defects and realize the accurate positioning in the complex indoor environment, many practical indoor localization schemes are introduced, such as infrared, WIFI, Bluetooth, ZigBee, ultrasound, radio frequency identification (RFID), and ultra-wideband (UWB). Infrared [1] is limited by its properties and vulnerable to the external environment; the positioning accuracy can only be up to 5 m. WIFI [2], Bluetooth [3], and ZigBee [4] can only locate the area of about a few tens of meters, and its positioning accuracy can only reach 3 m, unable to meet the indoor mobile positioning demand. Ultrasonic [5] indoor positioning is affected by narrowband transducers with poor accuracy. RFID [6] technology can only be identified, unable to locate in real time, and positioning accuracy is around 5 m. UWB [7] technology is a non-carrier communication technology. It uses the narrow-pulse signal of nanosecond or nanosecond to transmit data, which makes the ultra-wideband signal to have a high time resolution, achieving high positioning accuracy with low power consumption and low system complexity. It also has advantages of low power consumption, excellent anti-multipath effect, reliable security, and low system complexity. Consequently, UWB technique is particularly suitable for reliable and accurate indoor real-time positioning; this paper designs a wireless indoor positioning system based on ultra-broadband technology. While UWB is quite suitable, it still suffers from limitations of accuracy, especially in 3D indoor localization.

To address this problem, one straightforward solution is to improve ranging algorithms or positioning algorithms from hardware prospects. However, lots of obstacles like multipath fading, shadowing effect, or scattering characteristics cannot be overcome. Meanwhile, the cost in network construction and equipment installation will also increase dramatically. In this case, we try to transform indoor localization problem into an optimization problem, and then, we find that this problem can be optimized by particle swarm optimization (PSO) algorithm. PSO is a widely recognized optimization algorithm motivated by animal social behaviors. A group of particles, regarded as a swarm, fly and search in a limited range at a certain speed, aiming to find the optimal point cooperatively. Due to its simple implementation and excellent performance, PSO has been popularly applied to solve real-time scheduling or engineering problems. In this paper, we propose a two-step location and optimization method for UWB indoor positioning. Figure 1 illustrates the major difference between the proposed algorithm and existing work. Our key observation is that it is hard to achieve perfect performance directly under traditional communication methods. Essentially, the main difficulty arises from the large gap between measured target and true target due to the limitation of hard devices and environmental barriers. The goal of our work is to bridge the gap by progressive optimization after communication measure. In the location step, we calculate the distance from bases to target by two-way ranging (TWR) and use TODA to estimate the target position. In the optimization step, we model the target area based on the pre-measured location and allocate multiple particles into the area to mine confident candidates. We then use ensemble learning particle swarm optimization (ELPSO) to fine-tune the measured target, resulting in a more precise target position after optimization. In our proposed ELPSO algorithm, three different kinds of PSO variants, namely global PSO (GPSO), local PSO (LPSO), and bare bones PSO (BBPSO), are hybridized to complement each other. GPSO is used to accelerate convergence speed. LPSO is used to ensure rich population diversity. BBPSO is used to avoid complex parameter adjustments.

Fig. 1
figure 1

Comparison of our approach with existing UWB indoor localization methods. Most methods use one-step distance calculating to locate the target directly. We propose a two-step location and optimization approach. We first filter out the area of the target located in according to traditional communication method, and then mine confident candidates and optimize the objective for precise localization by ELPSO

The proposed ELPSO algorithm addresses the drawbacks from prior work in three aspects: (1) Our algorithm attempts to achieve the global optimal from multiple populations with super best guide. This strategy aims at drawing advantages and potential characteristics together from different PSO algorithms, leading to an ensemble approach for progressive optimization in UWB indoor localization system. (2) Our location step uses UWB technique to predict the indoor target position in real time. This step aims at estimating an initial position within a certain margin of error, providing more discriminative searching space for ELPSO. (3) Our optimization step using ELPSO fine-tunes the measured location such that it can find the optimal with the highest precision, especially for 3D indoor localization.

We make the following three contributions in this work:

  • We propose to use progressive optimization for UWB indoor localization by ELPSO. We show that this strategy is crucial for good performance.

  • Our hardware communication-based method helps filter the target area, and our progressive optimization step helps find the most likely optimal point among the modeling area for indoor positioning task.

  • We present detailed evaluations for ELPSO and performance both in 2D and 3D UWB indoor positioning. Experimental results demonstrate that our ELPSO algorithm performs favorably against the state-of-the-art evolutionary computation methods. Our two-step location and optimization method achieves promising accuracy on UWB indoor positioning, surpassing the initial performance obviously.

The reminder of this paper is organized as follows. Section 2 presents related work about particle swarm optimization and indoor positioning, followed by a detailed description about ELPSO algorithm in Section 3. In Section 4, we apply the proposed strategy into indoor positioning scenarios, i.e., both two dimensions and three dimensions. Moreover, we evaluate both ELPSO algorithm and its application in UWB indoor positioning by extensive experiments in Section 5. Finally, a conclusion is given in the last section.

2 Related work

2.1 Particle swarm optimization

Particle swarm optimization (PSO) is a population-level intelligent algorithm firstly proposed by Kennedy and Eberhart in 1995 [8, 9], which is originally from artificial intelligence and evolutionary computation theory, following birds’ searching behavior to achieve the global optimum through collective collaboration. The research of PSO is an integration of various disciplines such as artificial life, evolutionary computation, swarm intelligence, biology, and social psychology. Imagine a group of birds searching for food at random, suppose there is one and only one piece of food in a particular area, and none of the birds know where the food is. But they know how far they are from food. The simplest and most effective strategy to find food is to search the region around the nearest bird. We can model this optimization problem mathematically. Given a flock of birds, say N birds, each bird is abstracted as a particle with no mass, volume but position and velocity, which corresponds to the population of N particles and extends to D dimensional space. The position of the particle i in the N dimensional space is represented as the vector X i  = [x i 1, x i 2,…, x i D], and the velocity is expressed as vector V i  = [v i 1, v i 2, …, v i D]. Each particle has a fitness value determined by the evaluation function and knowing its personal best position (pbest) so far and the current location X i , which is the personal experience from itself. In addition, each particle has been kept known the best location (gbest) found by the entire population so far, which is the global experience from other peers. The particle determines the next movement by the best experience from its own or peers, then updating the corresponding velocity and location.

In the progress of particle swarm optimization research, scholars have made a lot of outstanding work in both theoretical study and practical application. According to research focus and trend in recent years, the theoretical study of PSO could mainly be divided into four categories, namely single objective continuous space optimization problem, multiple objectives continuous space optimization problem, single objective discrete space optimization problem, and multiple objectives discrete space optimization problem.

For single objective continuous space optimization problem [10], on the one hand, the movement behaviors or patterns of particle swarm and individual particle are carried on the thorough discussion. Lu et al. [11] studied the movement behavior of particle swarm based on cooperative control framework. Bonyadi and Michalewicz [12] studied the movement patterns of individual particle and suggested that two influencing factors of particle’s movement are the correlation among continuous positions and the range of movement. On the other hand, traditional theoretical research has also been extended. Bonyadi and Michalewicz [13, 14] made specific analysis on the stability, local convergence, and transformation sensitivity of PSO. Helwig et al. [15] analyzed the influence of different boundary handling techniques on PSO.

For multiple objectives continuous space optimization problem, Zhan et al. [16] proposed a co-evolutionary technique for multiple objectives optimization problem. Subsequently, Hu et al. [17, 18] proposed a two-stage multiple objectives PSO algorithm based on parallel unit coordinate system. In addition to the unconstrained optimization problem, there is also work involved in the multiple objectives optimization problem under constrained condition [19].

It is worth noting that discrete space optimization problem has aroused widespread study interest especially in the algorithm proposals for specific applications because many applications encountered in real world are combinatorial optimization problems, which can be characterized into discrete space optimization problem. However, the related representative work is not very abundant. For single objective discrete space optimization problem, Wu et al. [20] proposed a discrete PSO algorithm for covering array generation in the application of software combination test. For multiple objectives discrete space optimization problem, Gong et al. [21] proposed a decomposition-based multi-objective discrete PSO algorithm for complex network clustering.

The theoretical research of particle swarm optimization is rather extensive; meanwhile, applications of PSO are also deeply penetrating into various domains such as industrial engineering, machinery, communication, and bioscience. For instance, there are many applications about power [22,23,24], electromagnetic [25, 26], and antenna [27,28,29] in the field of industrial engineering. The most popular applications in machinery are trajectory optimization [30], defect classification [31, 32], and scheduling problems [33, 34]. Applications in communication consist of routing optimization [35], wireless communication system optimization [36], filter design optimization [37], etc. Relatively, there are very limited study or applications in biology [38], artificial intelligence [39, 40], and some other crossing fields [41,42,43]. In this work, we focus on the area of artificial intelligence and propose a novel PSO algorithm applied in UWB indoor localization.

2.2 Indoor positioning

Traditional indoor localization principles can be divided into three categories: geometry-based principle, fingerprint-based principle, and image-based principle. Based on the principle of geometry, indoor positioning technology can divided into WIFI [1], Bluetooth [2], ultra-wideband [3], optical communication [4], and ultrasonic positioning [5]. The principle is to calculate the current position of the target by measuring the distance between the target and several fixed base stations. This kind of technology needs to be updated in real time. Based on the fingerprint principle, indoor positioning technology can be divided into WIFI fingerprint localization [7] and geomagnetic localization [44], and its principle is to collect some physical eigenvalues of different positions in the room in advance, and then drawing the fingerprint map, finally locates the eigenvalue of the target measured directly, and compares with the fingerprint maps. This kind of technology needs to be collected in advance and updated regularly. Based on the image principle, indoor positioning technology can be divided into laser SLAM positioning [45] and machine vision positioning [46], and its principle is to model the indoor scene with laser radar or camera and then using machine vision matching algorithm to estimate location. This kind of technology requires a large amount of computation for specific scenarios. In the past decades, many approaches have been developed based on the above principles. We observe substantial applications of these approaches in indoor localization. However, there are not yet perfect solutions to balance accuracy, installation and operation, and ease of use. Our work involves artificial intelligence, electronic communication, and evolutionary computation. Examples include 2D and 3D UWB indoor positioning.

3 Ensemble learning particle swarm optimization

3.1 PSO variants employed in ELPSO

In the proposed ELPSO algorithm, GPSO, LPSO, and BBPSO are employed. The population is divided into three subpopulation groups in equal. When searching for the global optimum in a hyperspace, the particles benefit from guiding rules flying and searching more effectively and efficiently. In term of the typical PSO, the rules are the mechanisms of learning from a particle’s historical best experience and its neighborhood’s best experience. Based on the manners of choosing the neighborhood’s best experience, PSO algorithms are originally categorized into GPSO (global version) and LPSO (local version). For GPSO, a particle takes the best particle’s experience in global as the neighborhood’s experience. For LPSO, a particle’s neighborhood experience is chosen from the best particle in experience among particles in its local neighborhood defined by a topological structure. Beyond that, bare bones PSO (BBPSO) was proposed to improve precision while reducing the complexity of parameter tuning. In comparison with GPSO and LPSO, BBPSO cancels the velocity item. Moreover, its position of the particle is directly obtained by random sampling of the Gaussian distribution. Integrating the above three algorithms together enables our ELPSO algorithm preserves the diversity of population while discouraging premature convergence synchronously.

3.2 ELPSO with super best guide

As mentioned above, our ELPSO algorithm includes GPSO, LPSO, and BBPSO. For guiding rules, we add an ensemble learning component that learns from different subpopulations’ social experience named as superbest. The superbest are selected from all three gbest and updated asynchronously. The corresponding velocity for each PSO variant also adopt new update rule. The new rule is as follows:

$$ {\displaystyle \begin{array}{l}{v}_i=w\times {v}_i+{c}_1\mathit{\operatorname{rand}}{1}_i\times \left({pbest}_i-{X}_i\right)+{c}_2\mathit{\operatorname{rand}}{2}_i\\ {}\times \left({gbest}_i-{X}_i\right)+{c}_3\mathit{\operatorname{rand}}{3}_i\times \left({superbest}_i-{X}_i\right)\end{array}} $$
(1)

where c1 = 1.49445, c2 = 0.747225, and c3 = 0.747225. pbest is its own cognitive experience; gbest is its social component; the best experience found so far by its own subpopulation and super best is the best social experience from the whole population. The flowchart of ELPSO is shown in Fig. 2.

Fig. 2
figure 2

ELPSO pipeline

4 UWB indoor localization method using ELPSO

4.1 UWB indoor localization system design

A lot of advances are developed for indoor wireless localization. A potential one is UWB technology by utilizing a narrow pulse to estimate the position of a tag. Only transmitted base-band pulse or an AM-modulated pulse can be used in a UWB-based systems. The system proposed in this paper consists of an active tag, four base stations, a router, a location server, and several display terminals. The system with four base stations can theoretically cover the range of tens of thousands of square meters. Increasing the number of base stations, the positioning scene can be expanded further. The tag sends an ultra-wideband signal in a fixed time slot; each base station intercepts this signal, calling the ranging algorithm to get the distance between base stations and the tag. After that, the distance information is transmitted in a wireless way to the location server through a router. Finally, the location server calls the localization algorithm to locate the tag and sends real-time positioning results to the terminals for display. Time of arrival (ToA) or time difference of arrival (TDoA) algorithm is usually used to triangulate its position. The structure of indoor positioning system proposed in this paper is shown in Fig. 3.

Fig. 3
figure 3

System structure. The system consists of active tags, four base stations (A, B, C, and D), a router, a location server, and several display terminals. The tags send an ultra-wideband signal in a fixed time slot; each base station intercepts this signal, calling the ranging algorithm to get the distance between base stations and the tags

4.2 Ranging algorithm

Distance ranging is the first step in ultra-wideband positioning. Two-way ranging (TWR) [47] can be used to calculate the distance by determining the flight time of signals between two objects. The distance between base stations and tag is achieved by the speed of radio waves multiplied by the time of signal flight. However, the clock offset can cause a larger margin of error [48, 49]; we design the ranging algorithm based on TWR as follows. Firstly, we adopt the ultra-wideband wireless transceiver module DWM1000 produced by company DecaWave [50] in our system. Then, given two DWM1000 modules denoted by device A and device B respectively, device A can initiate ranging requests as the initiator of the distance ranging. Device B can listen and respond the radio message from device A as a responder. The ranging process is listed as Fig. 4.

Fig. 4
figure 4

Two-way ranging process. Device A and device B are two DWM1000 modules. Device A initiates ranging requests while device B listens and respond the radio message from device A

When device A sends a radio message to device B and records its sending time stamp as t1, device B receives the message and sends a reply to device A after a particular delay of treplyB. Device A receives the reply and records the receiving time stamp as t2. To reduce the error caused by the clock offset, device A sends a radio message to device B again in a specific delay treplyA and records its own sending time stamp as t3, and finally, device B receives the message and records a receiving time stamp as t4. In this way, using t1 and t2, device A can calculate its round trip time troundA; using t0 and t4, device B can calculate its round trip time troundB. So the time of flight (TOF) can be calculated by formula 1.

$$ \mathrm{TOF}=\frac{t_{\mathrm{roundA}}-{t}_{\mathrm{roundB}}+{t}_{\mathrm{replyA}}-{t}_{\mathrm{replyB}}}{4} $$
(2)

If the speed of radio waves in the air is equal to the speed of light c, the distance R between A and B can be calculated by the following formula:

$$ \mathrm{R}=c\times \mathrm{TOF}=c\times \frac{t_{\mathrm{roundA}}-{t}_{\mathrm{roundB}}+{t}_{\mathrm{replyA}}-{t}_{\mathrm{replyB}}}{4} $$
(3)

4.3 Localization algorithm

At present, time difference of arrival (TDoA) [51] is often used to realize ultra-wideband positioning. Assuming that there are four fixed base stations in the three-dimensional space, the position of the tag is (x, y, z), the position of the ith base station is (x i , y i , z i ), and the distance between the tag and the base station is Ri (i = 1, 2,…, N, N = 4). The three-dimensional positioning distribution diagram based on TDOA is shown in Fig. 5.

Fig. 5
figure 5

3D positioning based on TDOA. Points A, B, C, and D are represented as four fixed base stations, the tag sends an ultra-wideband signal in a fixed time slot, and each base station intercepts this signal, calling the ranging algorithm to get the distance between base stations and the tags

The specific calculation process of TDOA localization algorithm is as follows. Firstly, the arrival time between the tag and each base station can be obtained from ranging algorithm illustrated previously; the difference between every two arrival times is TDOA measured value. Then, we can calculate the difference between the tag and every two base stations according to TDOA measured value. Multiple TDOA measured values of distance differential equations constitute a two-surface system for the target position. Finally, the measured position of the tag can be obtained by solving the equation system.

4.4 ELPSO-based system implementation

System implementation includes hardware and software. In the hardware implementation part, the circuit is designed for the base stations and the tag. And the ultra-wideband ranging communication program is completed. The base stations and the tag all adopt the STM32103RC chip as the control unit and DWM1000 module as the ultra-wideband wireless transceiver. Each base station has an extra Wi-Fi module called ESP8266 than the tag, which is used to connect with the server. For ultra-wideband ranging communication program, transmission data rate is set to 110 kbps, the center frequency of channel is 3993.6 MHz, and the bandwidth is 499.2 MHz. The details of tag and base stations are shown in Figs. 6 and 7. In the software implementation part, based on the Android platform, the location server program was designed and the indoor positioning app was developed. The working scenes can be updated through Wi-Fi network automatically.

Fig. 6
figure 6

The tag. The tag adopts the STM32103RC chip as the control unit, and it contains DWM1000 module as the ultra-wideband wireless transceiver

Fig. 7
figure 7

Base stations. The base stations adopt the STM32103RC chip as the control unit, and each base station has an extra Wi-Fi module called ESP8266, which is used to connect with the server

5 Experimental results and discussion

A set of experiments was conducted to verify the performance of the proposed algorithm ELPSO and its application in UWB indoor localization. The competitors consist of three individual PSO embedding in ELPSO and another four famous PSO variants in the literature. Moreover, both 2D and 3D real-time test prove effective in UWB indoor localization using evolutionary computation strategy.

5.1 Experimental results for ELPSO

To demonstrate the efficiency of the proposed ELPSO, the competitors are listed in Table 1 in details. Also, we applied 14 benchmark functions listed in Table 2 in this section. These functions (CEC2005) https://www.lri.fr/~hansen/cec2005.html are widely used to evaluate PSO algorithms. To be fair, for all eight PSO algorithms, the population size is the same, equal to 40; the maximum number of function evaluations (FEs) is set to 2 × 105. Note that the number of FEs is equally divided into three parts for three swarms used in ELPSO. To eliminate statistical errors, the test for each algorithm and each function will repeat 25 times independently for achieving average results to compare.

Table 1 PSOs compared
Table 2 Functions tested

The performance for ELPSO algorithm compared with other competitors are shown in Table 3. The mean and the standard deviation of the solutions are provided. It can be observed that the ELPSO achieves the best solution on functions f3, f5, f6, f7, f8, f9, f10, and f13. Although FIPS performs best on the noise function (f4) and HPSO-TVAC yields the best solution on the rotated Rastrigin’s function (f12), the ELPSOs can also achieve comparable results on these two functions. Table 3 also ranks the algorithms on performance in terms of the mean solution accuracy. It can be observed that ELPSO offers the highest performance overall.

Table 3 Performance for ELPSO and other PSOs

Experimental comparisons verify that the sbest parameter indeed help the ELPSO perform better than the traditional PSOs and most existing improved PSO variants on almost all test functions in solving global optimization problems. The ELPSO offer not only a better performance in global optimization, but also a finer-grain search ability, owing to the sbest parameter that could preserve and utilize the most useful information from three different swarms based on different characteristics.

5.2 Experimental results for 2D UWB localization

In the second phase of the experiments, we model the search space based on every measured target through traditional UWB localization method elaborated in Section 4. Suppose a square area 10 m × 10 m, there are four base stations A(xA,yA) = (− 5, 5), B(xB,yB) = (5, 5), C(xC,yC) = (− 5, − 5), and D(xD,yD) = (5, − 5) located in it. The configuration of 2D indoor localization is shown in Fig. 8. All the positions of targets are supposed uniform distribution; we test 36 targets in this paper.

Fig. 8
figure 8

2D indoor localization configuration. In this experiment, there are 36 targets supposed to localize in two-dimensional space, which are represented by black pentagonal stars. Then, we achieve 36 promising position measured by communication method mentioned in Section 4. The measured results are denoted by white pentagonal stars. The specific location coordinates are listed in Table 4

For every target, the steps of optimization are as follows:

Step 1: Swarm initiation—there are three swarms used in ELPSO algorithm; the total number of particles is N, indexed by i = 1.... N, D = 2;

Step 2: Position measuring—according to the TWR algorithm and improved TODA algorithm presented in Section 4, we can initially measure the position of tag to base station;

Step 3: Searching space—based on the measured position in the previous step, creating a spherical space with a radius of 50 cm. N particles are all included in this space; both moving space and search space of all particles should not exceed this range;

Step 4: Fitness calculation—after achieving the distance L from each particle to each base station, given the measured distance R from target to each base station, for the i_th particle and the j_th target, here, we have the fitness function listed as follows:

$$ f\left({\mathrm{P}}_i\right)={\left({L}_{\mathrm{A}}^i-{R}_{\mathrm{A}}^j\right)}^2+{\left({L}_{\mathrm{B}}^i-{R}_{\mathrm{B}}^j\right)}^2+{\left({L}_{\mathrm{C}}^i-{R}_{\mathrm{C}}^j\right)}^2+{\left({L}_{\mathrm{D}}^i-{R}_{\mathrm{D}}^j\right)}^2 $$
(4)

When f = 0, P i achieved the optimal solution, i.e., P i exactly located in the position of target. The corresponding modeling and optimization of 2D indoor localization are shown in Fig. 9. We find that the fitness function could approach convergence after 20 iterations, which appeals to the demand of real time. The results after 10 iterations and 20 iterations for 2D indoor localization are shown in Figs. 10 and 11, respectively. The corresponding experimental results are listed in Table 4. It can be found that after optimization, the positioning accuracy is obviously improved. This is due to the use of ELPSO to optimize indoor positioning accuracy.

Fig. 9
figure 9

2D indoor localization modeling and optimization. After the initial measurement, for every target, we first establish the search space based on the corresponding measured target; then, we optimize the measured target by our proposed ELPSO algorithm to achieve the optimal localization, which is represented by the red pentagonal stars. The specific location coordinates are listed in Table 4

Fig. 10
figure 10

Results of 10 iterations for 2D indoor localization. We illustrate the optimized position for each target after 10 iterations, which is denoted by the red dots. It can be found that the locations are not optimal because the ELPSO algorithm have not converge yet

Fig. 11
figure 11

Results of 20 iterations for 2D indoor localization. We illustrate the optimized position for each target after 20 iterations, which is denoted by the red dots. It can be find that the locations are approaching optimal; the ELPSO algorithm converges quickly

Table 4 Performance of 2D indoor localization using ELPSO

5.3 Experimental results for 3D UWB localization

3D UWB indoor localization is an extension of 2D. Similarly, suppose a cube region 10 m × 10 m × 10 m, there are four base stations A (xA, yA, zA) = (0, 0, 10), B (xB, yB, zB) = (0,10, 10), C (xC, yC, zC) = (10,10, 10), and D (xD, yD, zD) = (10, 0, 10) located in it in the same. The configuration of 3D indoor localization is shown in Fig. 12. The 36 target positions (x, y, z) are uniformly distributed during the test. For every target, the optimization step is consistent with the two-dimensional case.

Fig. 12
figure 12

3D indoor localization configuration. In this experiment, there are 36 targets supposed to localize in three-dimensional space, which are represented by black pentagonal stars. Then, we achieve 36 promising position measured by communication method mentioned in Section 4. The measured results are denoted by white pentagonal stars. The specific location coordinates are listed in Table 5

The corresponding modeling and optimization of 3D indoor localization are shown in Figs. 13 and 14, respectively. Note that the fitness function could also approach convergence after 20 iterations, as shown in Fig. 15. The corresponding experimental results are listed in Table 5, which indicate that our indoor location method can overcome the problem of inaccurate 3D positioning.

Fig. 13
figure 13

3D indoor localization modeling. After the initial measurement, for every target, we first establish the search space based on the corresponding measured target similar to 2D configuration. The only difference is that we model the searching space in three dimensions this time, which is denoted by a green sphere. The swarm are initiated and randomly distributed in this sphere

Fig. 14
figure 14

3D indoor localization optimization. After modeling, we optimize the measured target by our proposed ELPSO algorithm to achieve the optimal localization, which is represented by the red dots. The specific localization coordinates are listed in Table 5

Fig. 15
figure 15

Results of the three kinds of iteration times for 3D indoor localization. We illustrate the optimized position for each target after three kinds of iteration times, which is denoted by different color dots. It can be found that the locations are approaching optimal after 20 iterations; the ELPSO algorithm converges quickly

Table 5 Performance of 3D indoor localization using ELPSO

6 Conclusions

In this paper, we propose the ELPSO, a particle swarm optimization algorithm composed of three variants of PSO under super best guide. The ensemble learning strategy proposed in this paper follows the philosophy that a particle learns not only from its own experience and its neighbors’ experience, but also from other swarms’ experience. This new learning strategy helps a particle construct a more promising and efficient guidance searching space, especially for optimizing indoor localization problem. It is thus applied to both the 2D version and the 3D version of UWB indoor localization. For testing the performance of ELPSO, comprehensive experimental tests have been undertaken on widely used benchmark CEC2005. The results demonstrate a high effectiveness of the ELPSO, which significantly outperforming other existing PSO algorithms on most of the functions tested; for testing the performance of ELPSO applied in UWB indoor localization, 2D and 3D versions of UWB indoor localization tests have been conducted. The experimental results show that ELPSO plays an important role in UWB indoor localization, and the positioning accuracy is remarkably improved after our optimization process. Future work will be continued to apply this kind of learning strategy into other indoor localization techniques.

The authors promise that all the experiments’ data and results in this article will be true and valid.