Home | About | Journals | Submit | Contact Us | Français |

**|**Sensors (Basel)**|**v.16(6); 2016 June**|**PMC4934188

Formats

Article sections

- Abstract
- 1. Introduction
- 2. Related Work
- 3. System Architecture and Information Flow
- 4. Modeling and Problem Formulation
- 5. Our Proposed Solutions
- 6. Performance Evaluation
- 7. Conclusions and Future Work
- References

Authors

Related links

Sensors (Basel). 2016 June; 16(6): 762.

Published online 2016 May 25. doi: 10.3390/s16060762

PMCID: PMC4934188

Yu Wang, Academic Editor

Received 2016 March 10; Accepted 2016 May 20.

Copyright © 2016 by the authors; licensee MDPI, Basel, Switzerland.

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

This article has been cited by other articles in PMC.

Location information is a key element of participatory sensing. Many mobile and sensing applications require location information to provide better recommendations, object search and trip planning. However, continuous GPS positioning consumes much energy, which may drain the battery of mobile devices quickly. Although WiFi and cell tower positioning are alternatives, they provide lower accuracy compared to GPS. This paper solves the above problem by proposing a novel localization scheme through the collaboration of multiple mobile devices to reduce energy consumption and provide accurate positioning. Under our scheme, the mobile devices are divided into three groups, namely the broadcaster group, the location information receiver group and the normal participant group. Only the broadcaster group and the normal participant group use their GPS. The location information receiver group, on the other hand, makes use of the locations broadcast by the broadcaster group to estimate their locations. We formulate the broadcaster set selection problem and propose two novel algorithms to minimize the energy consumption in collaborative localization. Simulations with real traces show that our proposed solution can save up to 68% of the energy of all of the participants and provide more accurate locations than WiFi and cellular network positioning.

A participatory sensing system [1] supports a large number of mobile users to collect sensor data and share the information of their environment. Many sensor data and mobile services are location oriented. For example, a driver may want to know the gas price of nearby gas stations or the traffic conditions around a specific area. Potential applications of location-based services in participatory sensing range from personal healthcare, object search to entertainment. However, obtaining location information often requires large energy consumption, which may discourage many mobile participants. Given the limited battery life of a mobile device, it is crucial to minimize the energy consumption in localization.

GPS localization is known as a major source of energy consumption in mobile devices. Continuous GPS sensing can easily drain the battery of a mobile device in five to six hours [2]. However, many participatory sensing applications require the mobile devices to turn on their GPS to collect location information. Even though alternative localization methods are available, such as cell-tower-based localization and WiFi-based localization, they fail to provide the same level of accuracy as the GPS.

The traditional approach consumes much energy, as each mobile device has to turn on its GPS continuously to collect and report sensor and location data to the server. To address this problem, we propose a novel approach of collaborative localization, which suggests that mobile devices share location information with other devices in the same vicinity. Apart from sharing GPS readings, we leverage lightweight sensors, such as the accelerometer and gyroscope, to approximate the location of individual devices in collaborative localization. These lightweight sensors can run for more than 20 h continuously on a smartphone [3], which can assist localization and reduce energy consumption.

Different from the traditional approach, our proposed approach divides the mobile devices into three categories, the broadcasters, the location information receivers (LIRs) and the normal participants. All members in the three categories collect sensor data periodically, but the ways that they obtain location data and label sensor data are different. The broadcasters and the normal participants turn on their GPS to obtain their location data, which are then used to label their sensor data. To save energy, the LIRs do not turn on their GPS. Instead, they estimate their locations according to the location information broadcast by the surrounding broadcasters.

Each mobile device will be assigned to a category by the server, and its category will be updated from time to time. We formulate the broadcaster set selection problem (BSSP) to select the set of broadcasters and to determine how long the selected mobile devices will be broadcasters. The LIRs will use the location data from the broadcasters nearby to estimate their own locations. The remaining stand-alone mobile participants are the normal participants, who use GPS to obtain location data as in the traditional approach. The objective of BSSP is to minimize the overall energy consumption of all of the participants.

The contributions of this paper are summarized as follows:

- A collaborative localization architecture is proposed, which enables flexible adjustment on location accuracy based on the application requirement. A mathematical model is set up to measure the total energy consumption of mobile participants.
- The operations in collaborative localization are designed and presented, which are feasible to be implemented for participatory sensing systems.
- The BSSP is formulated, which aims to minimize the energy consumption of all of the participants.
- Two novel heuristic algorithms are proposed to solve the BSSP.
- The performance of the proposed solution has been evaluated thoroughly by simulations using real mobility traces. The results show that our proposed algorithms can save up to 68% of the total energy in localization.

A preliminary conference paper based on this work can be found in [4]. The rest of the paper is organized as follows. Section 2 presents the related work. Section 3 shows the system architecture and information flows. Section 4 shows the energy model and formulates the BSSP. Section 5 describes our proposed broadcaster set selection algorithms. Section 6 evaluates the performance of our proposed algorithms by simulations using real mobility traces. Finally, Section 7 concludes the paper.

There are several types of mobile sensing, including participatory sensing, opportunistic sensing and crowdsensing [5]. The key idea of mobile sensing systems [5] is to have ordinary citizens collect and share sensor data from their surrounding environment by using their smartphones. For example, the Common Sense project [6] has developed a participatory sensing system that allows mobile participants to measure their personal exposure to air pollution. Similarly, Kanjo [7] has shown a system that allows participants to collect and share the noise pollution information. Zhang [8] *et al.* have proposed a new cosine theorem-based method for identifying and expressing conflicting data, which can be used for fusing conflicting data collected by participants.

In addition, research work has been done to address the participant selection problem in mobile sensing. Tuncay *et al.* [9] have exploited the user behaviors and selected the participants based on their mobility history. However, this approach relies heavily on the knowledge of participant trajectories, which increases the risk of leaking user privacy. Reddy *et al.* [10] have developed a selection framework that enables organizers to choose well-suited participants to collect data. Similarly, Song *et al.* [11] have developed a participant selection framework to satisfy the quality-of-information (QoI) requirements of the sensing tasks. Other than that, Lu *et al.* [12] have studied initiating sampling around a specific location. However, all of the above schemes could be further improved by taking energy saving into consideration.

Energy saving is a very important issue in mobile sensing systems. One common approach is to reduce the sampling rates, though this may lead to lower accuracy of the sensing results [13,14]. Other approaches utilize additional sensors, such as accelerometers and orientation sensors, to assist localization [15]. However, none of the above works have explored the possibility of sharing location information with neighboring devices.

Different from the traditional approach using GPS, alternative localization methods have been exploited. For example, Johnson and Seeling [16] have proposed a scheme based on Bluetooth device names to enable power-optimized *ad hoc* localization of mobile devices. However, this work mainly focused on the naming scheme, while the optimization of energy consumption during localization remains to be further explored. Other than that, some authors have suggested to use location beacons as localization references [17], but this method requires either fixed or mobile beacons. Similarly, Zhang and Yu [18] have proposed a beacon selection method that selects equilateral triangle nodes to be beacons. However, the location beacons may limit the energy saving performance and increase the deployment and maintenance cost.

Different from the above work, we aim to minimize the energy consumption through collaborative localization without deploying any beacon nodes. Besides, we only require users’ current locations instead of any historical trajectories; thus, our approach can protect user privacy.

In this section, we first illustrate the system architecture for the participatory sensing system and then describe the information flows of collaborative localization.

We consider a participatory sensing system in Figure 1. It consists of a central server, a task publisher and a set of *M* smartphone users, $\mathcal{M}\triangleq \{1,2,...,M\}$, in the region. The task publisher sends the sensing task to the server. The server then forwards the task to all of the participants.

We divide the length of a sensing task into a set of time slots, denoted by $\mathcal{T}=\{{t}_{s},{t}_{s}+1,...,{t}_{e}\}$, where ${t}_{s}$ and ${t}_{e}$ are the start time and the end time of the sensing task. Based on the participants’ current locations, the server will assign different roles to the participants to perform the sensing and localization. The roles will last for a certain period of time, then the server will dynamically assign new roles to the participants based on their updated locations.

All of the participants in our system are divided into three different roles. The first role is the broadcaster, which broadcasts its location and movement information to the surrounding participants. The set of broadcasters during $[{t}_{1},{t}_{2}]$ is denoted by ${\mathcal{B}}^{{t}_{1}{t}_{2}}$, $\forall {t}_{1},{t}_{2}$$\mathcal{T}$. The second role is the location information receiver (LIR), which relies on the broadcasters’ locations to calculate its own location. The third role is the normal participant, which does not receive any location broadcast from the surrounding. Hence, it has to turn on its GPS to obtain the location. The set of normal participants during $[{t}_{1},{t}_{2}]$ is denoted by ${\mathcal{N}}^{{t}_{1}{t}_{2}}$, $\forall {t}_{1},{t}_{2}$$\mathcal{T}$.

Table 1 lists the frequently-used notations in the paper.

After the task publisher publishes the sensing task, the server will send the task to all participants. The participants will register their locations to the server. In the initialization phase, all participants turn on their GPS to obtain their initial locations. Based on the participants’ locations, the server will assign different roles to the participants and how long the roles will last, which is denoted by *l*.

During each collaborative localization time period, all participants collect sensor data, but they label the location information of the collected data differently. The broadcasters and the normal participants turn on their GPS to obtain their locations. Besides, the broadcasters also broadcast their locations and their movement information periodically to their surrounding LIRs. Based on the received broadcasts, the surrounding LIRs can calculate their locations using the device to device localization method proposed in our previous work [19]. At the end of the collaborative localization period, all participants upload the collected sensor data and their locations to the server through the cellular network. Based on the participants’ current locations, the server will choose and inform their new roles for the next collaborative localization period and how long this period will last.

Figure 2 shows the collaborative localization during [${t}_{1},{t}_{2}$]. Let ${t}_{c}$ be the time that the participants need for sending data and receiving the roles. During [${t}_{1},{t}_{2}-{t}_{c}$], the broadcasters and the normal participants obtain their locations from their GPS, so that they can label the locations of the collected sensor data directly. On the contrary, the LIRs rely on the broadcasters’ locations to calculate their locations and label the sensor data. During [${t}_{2}-{t}_{c},{t}_{2}$], all participants upload the collected sensor data and their labeled locations to the server and wait for the server’s reply. Although all participants start sending at the same time, due to jitter or latency, the collected sensor data will arrive in random order on the server side. There is a time window for the server to receive the data. Similarly, there is a time window for the participants to receive the roles.

Figure 3 shows the corresponding function flow of the server. During [${t}_{2}-{t}_{c},{t}_{2}$], the server will decide on the roles of all participants in the next collaborative localization period and the length of the period. The goal is to minimize the power of all participants. Finally, the server will send the roles and the length of the next period to all participants. If the server does not receive sensor data from certain participants before timing out, the server will set the role of those participants as normal participants.

In this section, we will present device to device localization. Then, we will model the energy consumption of different roles in our system. Finally, we will formulate the BSSP.

This subsection shows how an LIR *j* can calculate its location through the WiFi broadcast of a broadcaster *i*, where $\forall i,j\in \mathcal{M}$. Locations in the real world are measured in three dimensions, namely latitude, altitude and longitude. Without loss of generality and for simplicity, a two-dimensional scenario without the altitude dimensional is considered in this paper. As shown in Figure 4, the scenario comprises two mobile devices held by the mobile users, *i* and *j*. The arrows indicate the trajectories of broadcaster *i* and LIR *j*.

The basic procedure of device to device localization can be divided into three phases, time stamped by ${t}_{1}$, ${t}_{2}$, ${t}_{3}$, where $\forall {t}_{1},{t}_{2},{t}_{3}$$\mathcal{T}$ and ${t}_{1}<{t}_{2}<{t}_{3}$.

As mentioned before, broadcaster *i* broadcasts its location periodically. ${t}_{1}$ is the time when LIR *j* first receives *i*’s broadcast. Then, LIR *j* receives *i*’s broadcast the second and third times at ${t}_{2}$ and ${t}_{3}$. The RSSI between *i* to *j* at time tis denoted by ${r}_{ij}^{t}$. The movement of participant *i* from ${t}_{1}$ to ${t}_{2}$, in terms of the walking distance and heading angle, is denoted by a vector ${\overrightarrow{m}}_{i}^{{t}_{1}{t}_{2}}$.

The relative movement between *i* and *j* from ${t}_{1}$ to ${t}_{2}$ is denoted by ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$. The relative location of the LIR *j* towards the broadcaster *i* can be calculated as follows.

The movement measurement is based on the step detection method, which is commonly used in pedestrian localization [20]. The pedestrian’s walking steps are detected by the acceleration signal, and the step length is estimated based on the statistical model. In each step, the walking direction is measured by the digital compass on the mobile devices. The nonlinear model [21] is selected to estimate the step length. The step length ${L}^{{t}_{1}{t}_{2}}$ of pedestrians during [${t}_{1}$,${t}_{2}$] is determined by his accelerator readings:

$${L}^{{t}_{1}{t}_{2}}=K*\sqrt[4]{{A}_{\mathrm{max}}^{{t}_{1}{t}_{2}}-{A}_{\mathrm{min}}^{{t}_{2}{t}_{2}}}\phantom{\rule{4pt}{0ex}}$$

(1)

where ${A}_{\mathrm{max}}^{{t}_{1}{t}_{2}}$ represents the maximum acceleration during [${t}_{1}$,${t}_{2}$], ${A}_{\mathrm{min}}^{{t}_{1}{t}_{2}}$ represents the minimum acceleration during [${t}_{1}$,${t}_{2}$] and *K* is the coefficient.

Based on the counted number of steps, the estimated step length, the direction of each step and the movement vector of LIR *j* can be calculated separately by:

$$\begin{array}{c}\hfill {\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}.x={\displaystyle \sum _{k=1}^{{\mathrm{StepNum}}^{{t}_{1}{t}_{2}}}}({L}^{{t}_{1}{t}_{2}}\times \mathrm{cos}{\theta}_{k})\phantom{\rule{4pt}{0ex}}\phantom{\rule{4pt}{0ex}}\\ \hfill {\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}.y={\displaystyle \sum _{k=1}^{{\mathrm{StepNum}}^{{t}_{1}{t}_{2}}}}({L}^{{t}_{1}{t}_{2}}\times \mathrm{sin}{\theta}_{k})\phantom{\rule{4pt}{0ex}}\end{array}$$

(2)

where ${\theta}_{k}$ is the angle between the *x*-axis and the pedestrian’s heading direction measured by the geomagnetic sensor equipped by mobile devices and ${\mathrm{StepNum}}^{{t}_{1}{t}_{2}}$ is the number of measured steps during [${t}_{1}$,${t}_{2}$].

As shown by Figure 5, the relative movement of LIR *j* towards broadcaster *i* from ${t}_{1}$ to ${t}_{2}$, ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$, can be calculated by:

$$\begin{array}{c}{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}={\overrightarrow{m}}_{i}^{{t}_{1}{t}_{2}}-{\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}\phantom{\rule{4pt}{0ex}}\hfill \\ \hfill {\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}.x={\overrightarrow{m}}_{i}^{{t}_{1}{t}_{2}}.x-{\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}.x\phantom{\rule{4pt}{0ex}}\\ {\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}.y={\overrightarrow{m}}_{i}^{{t}_{1}{t}_{2}}.y-{\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}.y\phantom{\rule{4pt}{0ex}}\end{array}$$

(3)

Let ${d}_{ij}^{t}$ be the distance between participants *i* and *j* at time *t* and ${\mathcal{D}}^{t}$ = ${\left({d}_{ij}^{t}\right)}_{M\times M}$ be the distance matrix at time *t*, such that:

$${\mathcal{D}}^{t}=\left[\begin{array}{cccc}{d}_{11}^{t}& {d}_{12}^{t}& \cdots & {d}_{1M}^{t}\\ {d}_{21}^{t}& {d}_{22}^{t}& \cdots & {d}_{2M}^{t}\\ \vdots & \vdots & \ddots & \vdots \\ {d}_{M1}^{t}& {d}_{M2}^{t}& \cdots & {d}_{MM}^{t}\end{array}\right]\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(4)

According to the free space radio propagation model [22], the relationship between ${d}_{ij}^{t}$ and ${r}_{ij}^{t}$ is denoted as:

$$\begin{array}{c}\hfill \frac{{d}_{ij}^{{t}_{1}}}{{d}_{ij}^{{t}_{2}}}={10}^{\frac{{r}_{ij}^{{t}_{2}}-{r}_{ij}^{{t}_{1}}}{10n}}\phantom{\rule{4pt}{0ex}}\end{array}$$

(5)

where *n* is a measure of the influence of obstacles, like partitions, walls and doors.

Let ${k}_{{t}_{1}{t}_{2}}$ denote:

$${k}_{{t}_{1}{t}_{2}}={10}^{\frac{{r}_{ij}^{{t}_{1}}-{r}_{ij}^{{t}_{2}}}{10n}}$$

(6)

Then, we have:

$$\begin{array}{c}\hfill {d}_{ij}^{{t}_{2}}={k}_{{t}_{1}{t}_{2}}\times {d}_{ij}^{{t}_{1}}\phantom{\rule{4pt}{0ex}}\\ \hfill {d}_{ij}^{{t}_{3}}={k}_{{t}_{1}{t}_{3}}\times {d}_{ij}^{{t}_{1}}\phantom{\rule{4pt}{0ex}}\end{array}$$

(7)

The problem is transformed as shown in Figure 6. Broadcaster *i*’s location at time ${t}_{1}$ is set to be the origin of the coordinates. The *y*-axis is pointing to the north, and the *x*-axis is pointing to the east. The direction of *j* towards *i* at ${t}_{1}$ is denoted by the angle *α* (see Figure 6b).

Let ${\alpha}_{1}$ and ${\alpha}_{2}$ denote the angle between ${d}_{ij}^{{t}_{1}}$ and ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$ and the angle between ${d}_{ij}^{{t}_{2}}$ and ${\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}$ respectively, as shown in Figure 6a. According to the cosine theorem, ${\alpha}_{1}$ and ${\alpha}_{2}$ can be expressed by:

$$\begin{array}{c}\hfill \mathrm{cos}{\alpha}_{1}=\frac{{{d}_{ij}^{{t}_{2}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}^{2}-{{d}_{ij}^{{t}_{1}}}^{2}}{2{d}_{ij}^{{t}_{2}}|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}\phantom{\rule{4pt}{0ex}}\\ \hfill \mathrm{cos}{\alpha}_{2}=\frac{{{d}_{ij}^{{t}_{2}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}^{2}-{{d}_{ij}^{{t}_{3}}}^{2}}{2{d}_{ij}^{{t}_{2}}|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}\phantom{\rule{4pt}{0ex}}\end{array}$$

(8)

$$\begin{array}{c}\hfill {\alpha}_{1}=\mathrm{arccos}\frac{{{d}_{ij}^{{t}_{2}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}^{2}-{{d}_{ij}^{{t}_{1}}}^{2}}{2{d}_{ij}^{{t}_{2}}|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}\phantom{\rule{4pt}{0ex}}\\ \hfill {\alpha}_{2}=\mathrm{arccos}\frac{{{d}_{ij}^{{t}_{2}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}^{2}-{{d}_{ij}^{{t}_{3}}}^{2}}{2{d}_{ij}^{{t}_{2}}|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}\phantom{\rule{4pt}{0ex}}\end{array}$$

(9)

The angle *θ* between ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$ and ${\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}$ can be calculated from ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$ and ${\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}$. Besides, $\theta ,{\alpha}_{1},{\alpha}_{2}$ add up to $2\pi $.

$${\alpha}_{1}+{\alpha}_{2}+\theta =2\pi \phantom{\rule{4pt}{0ex}}$$

Thus,

$$\begin{array}{c}\hfill \mathrm{arccos}\frac{({{k}_{{t}_{1}{t}_{2}}}^{2}-1){{d}_{ij}^{{t}_{1}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}^{2}}{2{k}_{{t}_{1}{t}_{2}}{d}_{ij}^{{t}_{1}}|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}+\mathrm{arccos}\frac{({{k}_{{t}_{1}{t}_{2}}}^{2}-{{k}_{{t}_{1}{t}_{3}}}^{2}){{d}_{ij}^{{t}_{1}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}^{2}}{2{k}_{{t}_{1}{t}_{2}}{d}_{ij}^{{t}_{1}}|{\overrightarrow{m}}_{ij}^{{t}_{2}{t}_{3}}|}+\theta =2\pi \phantom{\rule{4pt}{0ex}}\end{array}$$

(10)

By differentiation, the derivative of Equation (10) is always positive. Thus, the sufficient conditions for the monotonicity of Equation (10) are fulfilled. The transcendental Equation (10) can be solved by the binary search method.

From Figure 6b, we can easily see that $\alpha +{\alpha}_{4}=\pi $. The angle between ${\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}$ and ${d}_{ij}^{{t}_{1}}$, denoted by ${\alpha}_{3}$, can be calculated by:

$$\begin{array}{c}\hfill {\alpha}_{3}=\mathrm{arccos}\frac{{{d}_{ij}^{{t}_{1}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}^{2}-{{d}_{ij}^{{t}_{2}}}^{2}}{2{d}_{ij}^{{t}_{1}}|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}\phantom{\rule{4pt}{0ex}}\end{array}$$

(11)

Besides, ${\theta}_{1},{\alpha}_{3},{\alpha}_{4}$ add up to $2\pi $.

$${\alpha}_{3}+{\alpha}_{4}+{\theta}_{1}=2\pi \phantom{\rule{4pt}{0ex}}$$

Thus,

$$\begin{array}{c}\hfill \alpha ={\alpha}_{3}+{\theta}_{1}-\pi =\mathrm{arccos}\frac{{{d}_{ij}^{{t}_{1}}}^{2}+{|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}^{2}-{{k}_{{t}_{1}{t}_{2}}^{2}\times {d}_{ij}^{{t}_{1}}}^{2}}{2{d}_{ij}^{{t}_{1}}|{\overrightarrow{m}}_{ij}^{{t}_{1}{t}_{2}}|}+{\theta}_{1}-\pi \phantom{\rule{4pt}{0ex}}\end{array}$$

(12)

From the above, LIR *j* can calculate its relative location to broadcaster *i* at ${t}_{1}$. Given the location broadcast from *i*, LIR *j* can calculate its location at ${t}_{1}$. From Equation (2), LIR *j* knows ${\overrightarrow{m}}_{j}^{{t}_{1}{t}_{2}}$ and ${\overrightarrow{m}}_{j}^{{t}_{2}{t}_{3}}$; thus, its location at ${t}_{2}$ and ${t}_{3}$ can be calculated.

Table 2, which is our preliminary results in [19], shows the localization accuracy considering different distances between the broadcasters and the LIRs. When the localization accuracy requirement *r* is higher, it requires a shorter distance ${a}_{r}$ between the broadcasters and the LIRs. Note that the communication range of WiFi is denoted by *λ*. When *r* is greater than 25 m, ${a}_{r}$ is equal to *λ* meters.

Let ${e}_{g}$ and ${e}_{c}$ be the power of GPS and the cellular network for localization, respectively. Let ${e}_{w1}$ and ${e}_{w2}$ be the power of WiFi communication for sending and receiving data, where ${e}_{g}>{e}_{c}>{e}_{w1}>{e}_{w2}$. Then, we will study the power of mobile participants with different roles in collaborative localization.

Figure 7 shows the function flow of the broadcaster. During [${t}_{1},{t}_{2}-{t}_{c}$], the broadcaster uses GPS to obtain its location and uses WiFi to broadcast its location to the surrounding LIRs. During [${t}_{2}-{t}_{c}$,${t}_{2}$], the broadcaster uses the cellular network to report sensor data. We can easily model the energy consumption of the broadcaster during [${t}_{1},{t}_{2}$] in Figure 8a. Similarly, we can illustrate the energy consumption of an LIR and a normal participant in Figure 8b,c.

Energy consumption of different roles of a participant during [${t}_{1},{t}_{2}$]. (**a**) Energy consumption of a Broadcaster; (**b**) Energy consumption of a LIR; (**c**) Energy consumption of a Normal Participant.

Let ${e}_{b}^{{t}_{1}{t}_{2}}$ be the power of a broadcaster for collaboration localization in [${t}_{1},{t}_{2}$], where ∀${t}_{1}$,${t}_{2}$$\mathcal{T}$.

$${e}_{b}^{{t}_{1}{t}_{2}}=(({e}_{g}+{e}_{w1})\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1})\phantom{\rule{4pt}{0ex}}$$

(13)

Let ${e}_{l}^{{t}_{1}{t}_{2}}$ be the power of an LIR during [${t}_{1},{t}_{2}$].

$${e}_{l}^{{t}_{1}{t}_{2}}=({e}_{w2}\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1})\phantom{\rule{4pt}{0ex}}$$

(14)

Let ${e}_{n}^{{t}_{1}{t}_{2}}$ be the power of a normal participant during [${t}_{1},{t}_{2}$].

$${e}_{n}^{{t}_{1}{t}_{2}}=({e}_{g}\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1})\phantom{\rule{4pt}{0ex}}$$

(15)

We use Boolean ${b}_{m}^{{t}_{1}{t}_{2}}$ to indicate whether a mobile participant *m* is a broadcaster during [${t}_{1},{t}_{2}$]. Similarly, we use Boolean ${n}_{m}^{{t}_{1}{t}_{2}}$ to indicate whether a mobile participant *m* is a normal participant during $[{t}_{1},{t}_{2}]$.

Let ${p}_{ij}^{{t}_{1}{t}_{2}}$ be the physical connectivity between participant *i* and *j* during $[{t}_{1},{t}_{2}]$. Let ${\mathcal{P}}^{{t}_{1}{t}_{2}}$ = ${\left({p}_{ij}^{{t}_{1}{t}_{2}}\right)}_{M\times M}$ be the physical connectivity matrix during $[{t}_{1},{t}_{2}]$ , where:

$${\mathcal{P}}^{{t}_{1}{t}_{2}}=\left[\begin{array}{cccc}{p}_{11}^{{t}_{1}{t}_{2}}& {p}_{12}^{{t}_{1}{t}_{2}}& \cdots & {p}_{1M}^{{t}_{1}{t}_{2}}\\ {p}_{21}^{{t}_{1}{t}_{2}}& {p}_{22}^{{t}_{1}{t}_{2}}& \cdots & {p}_{2M}^{{t}_{1}{t}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ {p}_{M1}^{{t}_{1}{t}_{2}}& {p}_{M2}^{{t}_{1}{t}_{2}}& \cdots & {p}_{MM}^{{t}_{1}{t}_{2}}\end{array}\right]\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(16)

The power of all of the participants during $[{t}_{1},{t}_{2}]$, ${E}^{{t}_{1}{t}_{2}}$, consists of three parts: the power of all of the broadcasters during this period (${E}_{b}^{{t}_{1}{t}_{2}}$), the power of the LIRs (${E}_{l}^{{t}_{1}{t}_{2}}$) and the power of the normal participants (${E}_{n}^{{t}_{1}{t}_{2}}$). We calculate these three parts in the following.

Given $|{\mathcal{B}}^{{t}_{1}{t}_{2}}|$ and ${e}_{b}^{{t}_{1}{t}_{2}}$, the power of all of the data broadcasters during this period can be calculated by:

$$\begin{array}{cc}\hfill {E}_{b}^{{t}_{1}{t}_{2}}& =|{\mathcal{B}}^{{t}_{1}{t}_{2}}|{e}_{b}^{{t}_{1}{t}_{2}}\hfill \\ & =\sum _{m=1}^{\left|\mathcal{M}\right|}{b}_{m}^{{t}_{1}{t}_{2}}{e}_{b}^{{t}_{1}{t}_{2}}\phantom{\rule{4pt}{0ex}}\hfill \end{array}$$

(17)

According to ${\mathcal{B}}^{{t}_{1}{t}_{2}}$ and ${\mathcal{P}}^{{t}_{1}{t}_{2}}$, we can get ${\mathcal{N}}^{{t}_{1}{t}_{2}}$. Thus, the power of all of the normal participants during this period can be calculated by:

$$\begin{array}{cc}\hfill {E}_{n}^{{t}_{1}{t}_{2}}& =|{\mathcal{N}}^{{t}_{1}{t}_{2}}|{e}_{n}^{{t}_{1}{t}_{2}}\hfill \\ & =\sum _{m=1}^{\left|\mathcal{M}\right|}{n}_{m}^{{t}_{1}{t}_{2}}{e}_{n}^{{t}_{1}{t}_{2}}\phantom{\rule{4pt}{0ex}}\hfill \end{array}$$

(18)

For the remaining LIRs, their power during this period can be calculated by:

$${E}_{l}^{{t}_{1}{t}_{2}}=\left(\right|\mathcal{M}|-\sum _{m=1}^{\left|\mathcal{M}\right|}{b}_{m}^{{t}_{1}{t}_{2}}-\sum _{m=1}^{\left|\mathcal{M}\right|}{n}_{m}^{{t}_{1}{t}_{2}})\times {e}_{l}^{{t}_{1}{t}_{2}}\phantom{\rule{4pt}{0ex}}$$

(19)

Finally, the power of all of the participants during this collaborative localization time period, ${E}^{{t}_{1}{t}_{2}}$, can be calculated by:

$$\begin{array}{cc}\hfill {E}^{{t}_{1}{t}_{2}}& ={E}_{b}^{{t}_{1}{t}_{2}}+{E}_{l}^{{t}_{1}{t}_{2}}+{E}_{n}^{{t}_{1}{t}_{2}}\hfill \\ & =\sum _{m=1}^{\left|\mathcal{M}\right|}{b}_{m}^{{t}_{1}{t}_{2}}{e}_{b}^{{t}_{1}{t}_{2}}+\left(\right|\mathcal{M}|-\sum _{m=1}^{\left|\mathcal{M}\right|}{b}_{m}^{{t}_{1}{t}_{2}}-\sum _{m=1}^{\left|\mathcal{M}\right|}{n}_{m}^{{t}_{1}{t}_{2}})\times {e}_{l}^{{t}_{1}{t}_{2}}+\sum _{m=1}^{\left|\mathcal{M}\right|}{n}_{m}^{{t}_{1}{t}_{2}}{e}_{n}^{{t}_{1}{t}_{2}}\phantom{\rule{4pt}{0ex}}\hfill \end{array}$$

(20)

The main goal of this work is to find an optimal broadcaster set ${\mathcal{B}}^{{t}_{1}{t}_{2}}$ and the length of each collaborative localization period, so that the power of all of the participants is minimized. To prevent some broadcasters from possibly consuming too much energy, our model considers the current remaining battery of participants, which is denoted by ${c}_{m}^{t}$, $\forall m\in \mathcal{M},t\in \mathcal{T}$. We formulate the BSSP in the following:

Minimize: $\sum _{m=1}^{\left|\mathcal{M}\right|}}{b}_{m}^{{t}_{1}{t}_{2}}{e}_{b}^{{t}_{1}{t}_{2}}+\left(\right|\mathcal{M}|-{\displaystyle \sum _{m=1}^{\left|\mathcal{M}\right|}}{b}_{m}^{{t}_{1}{t}_{2}}-{\displaystyle \sum _{m=1}^{\left|\mathcal{M}\right|}}{n}_{m}^{{t}_{1}{t}_{2}})\times {e}_{l}^{{t}_{1}{t}_{2}}+{\displaystyle \sum _{m=1}^{\left|\mathcal{M}\right|}}{n}_{m}^{{t}_{1}{t}_{2}}{e}_{n}^{{t}_{1}{t}_{2}$

Subject to:

$${b}_{m}^{{t}_{1}{t}_{2}}=\{0,1\},\forall m\in \mathcal{M},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(21)

$${e}_{b}^{{t}_{1}{t}_{2}}=(({e}_{g}+{e}_{w1})\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1}),{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(22)

$${e}_{l}^{{t}_{1}{t}_{2}}=({e}_{w2}\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1}),{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(23)

$${e}_{n}^{{t}_{1}{t}_{2}}=({e}_{g}\times ({t}_{2}-{t}_{1})+{e}_{c}\times {t}_{c})/({t}_{2}-{t}_{1}),{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(24)

$${c}_{m}^{{t}_{1}}\ge \mu ,\forall m\in {\mathcal{B}}^{{t}_{1}{t}_{2}},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\phantom{\rule{4pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}$$

(25)

$${p}_{ij}^{{t}_{1}{t}_{2}}=\left\{\begin{array}{cc}& 0\phantom{\rule{4pt}{0ex}},\phantom{\rule{4pt}{0ex}}{d}_{ij}^{{t}_{1}}>{a}_{r}-v\times ({t}_{2}-{t}_{1}),\forall i,j\in \mathcal{M},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\hfill \\ & 1\phantom{\rule{4pt}{0ex}},\phantom{\rule{4pt}{0ex}}{d}_{ij}^{{t}_{1}}\le {a}_{r}-v\times ({t}_{2}-{t}_{1}),\forall i,j\in \mathcal{M},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\hfill \end{array}\right.\phantom{\rule{4pt}{0ex}}$$

(26)

$${n}_{m}^{{t}_{1}{t}_{2}}=\left\{\begin{array}{cc}& 0\phantom{\rule{4pt}{0ex}},\phantom{\rule{4pt}{0ex}}({\displaystyle \sum _{j=1}^{\left|\mathcal{M}\right|}}{p}_{mj}^{{t}_{1}{t}_{2}}\ge h,\forall m\in \mathcal{M}\setminus {\mathcal{B}}^{{t}_{1}{t}_{2}},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1})\vee (\forall m\in {\mathcal{B}}^{{t}_{1}{t}_{2}})\hfill \\ & 1\phantom{\rule{4pt}{0ex}},\phantom{\rule{4pt}{0ex}}{\displaystyle \sum _{j=1}^{\left|\mathcal{M}\right|}}{p}_{mj}^{{t}_{1}{t}_{2}}<h,\forall m\in \mathcal{M}\setminus {\mathcal{B}}^{{t}_{1}{t}_{2}},{t}_{2}\in \mathcal{T}\wedge {t}_{2}>{t}_{1}\hfill \end{array}\right.\phantom{\rule{4pt}{0ex}}$$

(27)

Equation (21) is the integer constraint. Equations (22)–(24) calculate the power of the participants in the three different roles during $[{t}_{1},{t}_{2}]$. Equation (25) enforces that the remaining battery of each broadcaster must be above *μ*. Equation (26) enforces that the physical connectivity matrix of this period is determined by the current distance matrix, the length of this period, the location accuracy requirement of the task and the moving speed of pedestrian *v*. Equation (27) enforces that each LIR has to receive broadcasts from at least *h* broadcasters so that it can calculate its location. In our proposed device to device localization method, $h=1$. It is worth noting that, simply by changing ${a}_{r}$ and *h*, other collaborative localization methods can also be represented by our proposed model.

We propose two heuristic algorithms to solve the BSSP. The first one is a greedy-based broadcaster selection (GBS) algorithm. Algorithm 1 shows the pseudocode of the GBS algorithm. Based on the current distance matrix of all of the participants, the localization accuracy of the task and the moving speed of the pedestrian, GBS is able to get the approximate optimal set of broadcasters of the following collaborative localization period and the length of the following period.

Lines 9–29 show the inner while loop where the length of the period is fixed; thus, the solution is a local solution. We denote the power of participants in the local solution by ${E}_{local}$. In the beginning, ${\mathcal{B}}^{{t}_{1}{t}_{2}}$ is empty, and ${\mathcal{N}}^{{t}_{1}{t}_{2}}$ equals $\mathcal{M}$. In each round of the while loop, the participant that saves the most energy will be selected as a new broadcaster during this fixed time period. The selection of broadcasters will continue until the power of all participants during this period, ${E}^{{t}_{1}{t}_{2}}$, cannot be further improved. After the while loop, we can get a local optimal broadcasters’ set under a given time ${t}_{2}$. After the outer for loop (Lines 3–34) we can get the global optimal broadcasters’ set and its corresponding length of the period. By using ${\mathcal{B}}^{{t}_{1}{t}_{2}}$, we can easily get the set of normal participants ${\mathcal{N}}^{{t}_{1}{t}_{2}}$. The remaining participants, $\mathcal{M}\setminus ({\mathcal{B}}^{{t}_{1}{t}_{2}}\cup {\mathcal{N}}^{{t}_{1}{t}_{2}})$, are LIRs. All of the roles of the participants of the next period and the length of the next period are then calculated.

We also propose a simulated annealing (SA)-based [23] broadcaster selection (SABS) algorithm. SA is a probabilistic algorithm that makes a good approximation to the global optimal solution of the optimization problem in a large search space.

The aim of the SABS is to get an approximate optimal set of broadcasters for the following collaborative localization period and the length of that period. The SABS algorithm includes a sub-algorithm called SubSABS.

Algorithm 2 shows the pseudocode of the SubSABS algorithm. SubSABS can find an approximate optimal ${E}^{{t}_{1}{t}_{2}}$ only when the length of this period $|{t}_{2}-{t}_{1}|$ and the number of the broadcasters $|{\mathcal{B}}^{{t}_{1}{t}_{2}}|$ are given. Since the length of the period and the number of broadcasters during this period are fixed, the solution is a local solution. We denote the power of participants and the set of broadcasters in the local solution by ${E}_{local}$ and ${B}_{local}$. Lines 1–7 are the initialization phase. Initially, it generates a feasible ${\mathcal{B}}^{{t}_{1}{t}_{2}}$ as the starting point. In each iteration of the outer while loop (Lines 8–30), a neighbor set of ${\mathcal{B}}^{{t}_{1}{t}_{2}}$ is generated, which is denoted by ${\mathcal{B}}_{next}$. If ${\mathcal{B}}_{local}^{next}$ can save more energy than ${B}_{local}$, then we accept ${\mathcal{B}}_{local}^{next}$ as a new set of broadcasters. Otherwise, we accept ${\mathcal{B}}_{local}^{next}$ based on the probability of avoiding falling into a local minimum. The probability of acceptance is an exponentially decreasing function with parameter $exp(-\Delta energy/{T}^{\circ})$, where ${T}^{\circ}$ is the current temperature. After each iteration, the probability of acceptance decreases. It can compute the suboptimal ${E}_{local}$ given specific $|{t}_{2}-{t}_{1}|$ and $|{\mathcal{B}}^{{t}_{1}{t}_{2}}|$. This result will be used in the SABS algorithm.

Based on SubSABS, SABS can easily find the approximate optimal set of broadcasters for the following collaborative localization period and the length of that period. Algorithm 3 shows the pseudocode of the SABS algorithm. It can find an approximate solution by varying the number of broadcasters $|{\mathcal{B}}^{{t}_{1}{t}_{2}}|$ and calling the SubSABS algorithm. Even though the optimal $|{\mathcal{B}}^{{t}_{1}{t}_{2}}|$ is not known in advance, the SABS algorithm can find the approximate solution ${E}_{local}$ by calling the SubSABS algorithm $O\left(lo{g}_{2}^{\left|\mathcal{M}\right|}\right)$ times. After the outer for loop, SABS algorithm can find the approximate length of the next period $|{t}_{2}^{glocal}-{t}_{1}|$ and the set of broadcasters during this period ${\mathcal{B}}^{{t}_{1}{t}_{2}^{glocal}}$. Similar to the GBS algorithm, based on ${\mathcal{B}}^{{t}_{1}{t}_{2}^{glocal}}$, the roles of all participants in the next period can be calculated.

We evaluate the performance of the proposed collaborative strategy using the GeoLife (Microsoft Research Asia) dataset [24], where real movement traces of ordinary citizens are used to represent mobile users in the considered scenario. The GeoLife project of Microsoft Research Asia has collected 182 volunteers’ (ordinary citizens) trajectories in Beijing from April 2007–August 2012. A GPS trajectory of this dataset is represented by a sequence of time-stamped points, each of which contains the information of latitude, longitude and altitude.

We store all of the trajectories in a geographical MySQL database and find a 200 × 500 m${}^{2}$ region that is of high movement density, as shown in Figure 9a.

There are 612 trajectories in this region, as shown in Figure 9b. All 612 trajectories in the region are taken as mobile participants, *i.e.*, |$\mathcal{M}$| = 612. Since a sensing task usually lasts for some time, some trajectories are too short to experiment. Thus, we choose the trajectories with a length longer than 20. After screening, there are 178 trajectories in total, *i.e.*, |$\mathcal{M}$| = 178. We set the parameters in our energy model according to [25,26,27], where ${e}_{g}$ = 355 mW, ${e}_{c}$ = 268 mW, ${e}_{w1}$ = 240 mW and ${e}_{w2}$ = 50 mW. As the GeoLife dataset does not provide battery information, we set *μ* = 0%, which means that every participant has the possibility to be a broadcaster.

First, we evaluate how the number of broadcasters will influence the total power under different localization accuracy requirements. In this experiment, $l/{t}_{c}$ is set to 20. Figure 10 shows the power of all participants varying the number of broadcasters. Initially, the power decreases with the number of broadcasters. However, after reaching the optimal points, the power increases with the number of broadcasters. This is because excessive broadcasters consume energy for GPS localization and broadcasting their locations. The black dotted line in this figure shows the power of all participants without collaborative localization. We can see that if the broadcasters reach a certain number, collaborative localization does not save more energy than GPS localization.

Next, we evaluate our proposed solution under different localization accuracy requirements. Figure 11a,b shows the impact of localization accuracy on GBS and SABS. As the localization accuracy requirement increases, both the GBS and the SABS consume more energy. This is because more broadcasters are needed to satisfy the accuracy requirement. It is worth noting that GBS performs better than SABS in some cases. This is because the number of iterations of SubSABS is set to 5000. If we increase the number of iterations, SABS performs better than GBS in all cases.

The impact of the localization requirement on our method. (**a**) The impact of the localization accuracy requirement on GBS; (**b**) The impact of the localization accuracy requirement on SABS.

Then, we compare the power consumption of our approach to the existing solutions. We compare the standard triangulation method for collaborative localization with our proposed device to device localization method. When we use the triangulation method for collaborative localization, each LIR relies on three broadcasters’ locations to calculate its own location. Figure 12a compares our approach to the cellular and triangulation method when the localization accuracy requirement is greater than 25 m. Our approach can save 68% and 41% energy on average compared to the cellular and triangulation localization methods, respectively. Figure 12b compares the power consumption of our approach to the GPS sampling and triangulation method when the localization accuracy requirement is 10 m. In the traditional approach, all mobile participants turn on their GPS to perform localization periodically [11,28]. Our approach can save 43% and 38% of the energy on average compared to GPS and triangulation localization, respectively. In the best case, our approach can save 48% of the energy compared to GPS localization. In the worst case, our approach can save 40% of the energy compared to GPS localization. Figure 13a shows the time slice of user locations with maximum energy saving (the best case), while Figure 13b shows the time slice with minimum energy saving (the worst case). The radius of the outer green circles in the figure is equal to ${a}_{r}$, which is the distance threshold corresponding to the localization accuracy requirement. The radius of the inner blue circles is equal to ${a}_{r}-v*l$, so that all of the LIRs within the blue circle will not move out of the green circle during a collaborative localization period, where *v* is the moving speed of the pedestrian and *l* is the length of the collaborative localization period.

Comparison with the existing approach. (**a**) Low localization accuracy requirement; (**b**) High localization accuracy requirement.

Time slice with maximum and minimum energy saving. (**a**) Time slice with maximum energy saving; (**b**) Time slice with minimum energy saving.

Furthermore, we study how the participant density will influence our proposed method. We choose 20%, 40% and 60% of the total participants to do the experiment, respectively. We choose the subsets of participants so that others can repeat this experiment. As the number of participants varies under different participant density, we evaluate the average power per participant during each time period. Figure 14a shows the influence of participant density when the localization accuracy is greater than 25 m, while Figure 14b shows the influence of participant density when the localization accuracy is 10 m. From Figure 14, we can see that as the participant density increases, our method proposed performs better under both localization accuracy requirements.

The influence of participants’ density. (**a**) The influence of participants’ density under the low localization accuracy requirement; (**b**) The influence of participants’ density under the high localization accuracy requirement.

Finally, we evaluate the performance of our proposed algorithm. In a specific case when ${e}_{n}^{{t}_{1},{t}_{2}}$ is set to ${e}_{b}^{{t}_{1},{t}_{2}}$ and the length of the time period is fixed, the BSSP can be converted to the well-known set cover problem (SCP), ∀${t}_{1},{t}_{2}$$\mathcal{T}$. Then, we can get the optimal solution on the specific case using CPLEX 12.6 [29]. In our experiment, the localization accuracy is set to 25 m, and $l/{t}_{c}$ is set to 20. We choose the time slice with the most participants; then, we filter the participants who are at the same locations. Under this condition, there are 325 participants in total, *i.e*., |*M*| = 325.

Figure 15a shows the stability of the SABS algorithm with different numbers of iterations. When the number of iterations is set to 5000, SABS is 90.2% to the optimal on average. When the number of iterations is set to 15,000, SABS is 93.4% to the optimal on average and has a probability of 0.2% to reach the optimal. When the number of iterations is set to 50,000, SABS is as close as 95.5% to the optimal on average. It has a probability of 0.8% to reach the optimal. Figure 15b shows the cumulative distribution function (CDF) of the relative performance of the SABS algorithm with different numbers of iterations. As the number of iterations increases, SABS performs better. Even when the number of iterations is set to only 5000, our proposed solution is already much better than the existing solutions, as shown in Figure 12.

The performance of our proposed solution. (**a**) Stability of SABS; (**b**) Cumulative Dirstrbution Function (CDF) of the relative performance of SABS.

In summary, our solution enables flexible adjustment on the localization accuracy according to the application requirement and minimizes the energy consumption for localization. Under all localization accuracy requirements, our approach performs better than the existing approaches.

In this paper, we propose a collaborative outdoor localization architecture, which aims to reduce the total energy consumption of mobile participants during the location information collection process. This architecture is capable of flexible adjustment on the localization accuracy according to the application requirement. A mathematical model is set up to measure the total energy consumption of mobile participants. We formulate the BSSP and propose two novel algorithms, namely SABS and GBS algorithm, to minimize the energy consumption of all participants by coordinating between the broadcasters and the LIRs. The performances of the two algorithms are evaluated based on extensive simulations using real mobility traces. Simulation results show that our proposed localization strategy can save up to 68% of the total energy and achieve high localization accuracy.

For future work, vehicle participants could be taken into account to enhance the stability of the system and to further reduce the energy consumption.

Acknowledgments

This work is partially supported by the National Natural Science Foundation of China (No. 61370197 and 61271041), the Vinnova GreenIoT project (2015-00347) in Sweden and the China Scholarship Council.

Author Contributions

Wendong Wang designed the structure of this article, the architecture and the principle of the collaborative localization system, as well as the principle of collaborative localization process. Teng Xi analyzed the system modeling, designed the algorithms and verified the proposed solution using real mobility traces. Edith Ngai did the optimization analysis for the system and designed the process of the collaborative localization. Zheng Song designed the principle of collaborative localization and designed the device to device localization method.

Conflicts of Interest

The authors declare no conflict of interest.

1. Zhao Q., Zhu Y., Zhu H., Cao J., Xue G., Li B. Fair energy-efficient sensing task allocation in participatory sensing with smartphones; Proceedings of the IEEE International Conference on Computer Communications (INFOCOM); Toronto, ON, Canada. 27 April–2 May 2014; pp. 1366–1374.

2. Sheng X., Tang J., Zhang W. Energy-efficient collaborative sensing with mobile phones; Proceedings of the IEEE International Conference on Computer Communications (INFOCOM); Orlando, FL, USA. 25–30 March 2012; pp. 1916–1924.

3. König I., Memon A.Q., David K. Energy consumption of the sensors of Smartphones; Proceedings of the VDE International Symposium on Wireless Communication Systems (ISWCS); Ilmenau, Germany. 27–30 August 2013; pp. 1–5.

4. Xi T., Edith N., Song Z., Tian Y., Gong X., Wang W. Energy-Efficient Collaborative Localization for Participatory Sensing System; Proceedings of the IEEE Global Communications Conference (Globecom); San Diego, CA, USA. 6–10 December 2015.

5. Macias E., Suarez A., Lloret J. Mobile sensing systems. Sensors. 2013;13:17292–17321. doi: 10.3390/s131217292. [PMC free article] [PubMed] [Cross Ref]

6. Dutta P., Aoki P.M., Kumar N., Mainwaring A., Myers C., Willett W., Woodruff A. Common sense: Participatory urban sensing using a network of handheld air quality monitors; Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys); Berkeley, CA, USA. 4–6 November 2009; pp. 349–350.

7. Kanjo E. NoiseSPY: A Real-Time Mobile Phone Platform for Urban Noise Monitoring and Mapping. Mob. Netw. Appl. 2010;15:562–574. doi: 10.1007/s11036-009-0217-y. [Cross Ref]

8. Zhang Z., Liu T., Chen D., Zhang W. Novel Algorithm for Identifying and Fusing Conflicting Data in Wireless Sensor Networks. Sensors. 2014;14:9562–9581. doi: 10.3390/s140609562. [PMC free article] [PubMed] [Cross Ref]

9. Tuncay G.S., Benincasa G., Helmy A. Autonomous and distributed recruitment and data collection framework for opportunistic sensing. Mob. Comput. Commun. Rev. 2013;16:50–53. doi: 10.1145/2436196.2436219. [Cross Ref]

10. Reddy S., Estrin D., Srivastava M. Recruitment framework for participatory sensing data collections. IEEE Pervasive Comput. 2010;6030:138–155.

11. Song Z., Zhang B., Liu C.H., Vasilakos A.V., Ma J., Wang W. QoI-Aware Energy-Efficient Participant Selection; Proceedings of the IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks (SECON); Singapore. 30 June–3 July 2014; pp. 248–256.

12. Lu H., Lane N.D., Eisenman S.B., Campbell A.T. Bubble-sensing: Binding sensing tasks to the physical world. Pervasive Mob. Comput. 2010;6:58–71. doi: 10.1016/j.pmcj.2009.10.005. [Cross Ref]

13. Lu H., Yang J., Liu Z., Lane N.D., Choudhury T., Campbell A.T. The jigsaw continuous sensing engine for mobile phone applications; Proceedings of the ACM Conference on Embedded Networked Sensor Systems (SenSys); Zurich, Switzerland. 3–5 November 2010; pp. 71–84.

14. Shafer I., Chang M.L. Movement detection for power-efficient smartphone WLAN localization; Proceedings of the ACM International Conference on Modeling, Analysis, and Simulation of Wireless and Mobile Systems (MSWiM ); Bodrum, Turkey. 17–21 October 2010; pp. 81–90.

15. Baier P., Durr F., Rothermel K. PSense: Reducing Energy Consumption in Public Sensing Systems; Proceedings of the IEEE International Conference on Advanced Information Networking and Applications (AINA); Fukuoka, Japan. 26–29 March 2012; pp. 136–143.

16. Johnson T.A., Seeling P. Localization using bluetooth device names; Proceedings of the ACM/IEEE International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc); Hilton Head, SC, USA. 11–14 June 2012; pp. 247–248.

17. Xiao B., Chen H., Zhou S. Distributed localization using a moving beacon in wireless sensor networks. IEEE Trans. Parallel Distrib. Syst. 2008;19:587–600. doi: 10.1109/TPDS.2007.70773. [Cross Ref]

18. Zhang Z., Yu F., Zhang Z. Collaborative localization algorithm for wireless sensor networks using mobile anchors; Proceedings of the IEEE Asia-Pacific Conference on Computational Intelligence and Industrial Applications (PACIIA); Wuhan, China. 28–29 November 2009; pp. 309–312.

19. Song Z., Ma J., Dong M., Wang W., Gong X., Que X. Phone-Radar: Infrastructure-free Device-to-device Localization; Proceedings of the IEEE Vehicular Technology Conference (VTC); Seoul, Korea. 18–21 May 2014.

20. Jimenez A.R., Seco F., Prieto C., Guevara J. A comparison of pedestrian dead-reckoning algorithms using a low-cost MEMS IMU; Proceedings of the IEEE International Symposium on Intelligent Signal Processing (WISP); Budapest, Hungary. 26–28 August 2009; pp. 37–42.

21. Chen W., Zhang X. A novel EMG-based stride length estimation method for pedestrian dead reckoning; Proceedings of the ION International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS); Portland, OR, USA. 21–24 September 2010; pp. 569–576.

22. Bose A., Foh C.H. A practical path loss model for indoor WiFi positioning enhancement; Proceedings of the IEEE International Conference on Information, Communications and Signal Processing (ICICS); Singapore. 10–13 December 2007; pp. 1–5.

23. Isakov S.V., Zintchenko I.N., Rønnow T.F., Troyer M. Optimised simulated annealing for Ising spin glasses. Comput. Phys. Commun. 2015;192:265–271. doi: 10.1016/j.cpc.2015.02.015. [Cross Ref]

24. Zheng Y., Xie X., Ma W.Y. GeoLife: A Collaborative Social Networking Service among User, Location and Trajectory. IEEE Data Eng. Bull. 2010;33:32–39.

25. Constandache I., Gaonkar S., Sayler M., Choudhury R.R., Cox L. Enloc: Energy-efficient localization for mobile phones; Proceedings of the IEEE International Conference on Computer Communications (INFOCOM); Rio de Janeiro, Brazil. 19–25 April 2009; pp. 2716–2720.

26. Serrano P., Garcia-Saavedra A., Bianchi G., Banchs A., Azcorra A. Per-frame energy consumption in 802.11 devices and its implication on modeling and design. IEEE/ACM Trans. Netw. 2015;23:1243–1256. doi: 10.1109/TNET.2014.2322262. [Cross Ref]

27. Yoon C., Kim D., Jung W., Kang C., Cha H. AppScope: Application Energy Metering Framework for Android Smartphone Using Kernel Activity Monitoring; Proceedings of the USENIX Annual Technical Conference (USENIX ATC); Boston, MA, USA. 12–15 June 2012; pp. 387–400.

28. Song Z., Liu C.H., Wu J., Ma J., Wang W. Qoi-aware multitask-oriented dynamic participant selection with budget constraints. IEEE Trans. Veh. Technol. 2014;63:4618–4632. doi: 10.1109/TVT.2014.2317701. [Cross Ref]

29. IBM ILOG CPLEX V12.6. [(accessed on 20 May 2016)]. Available online: http://www.ilog.com/products/cplex.

Articles from Sensors (Basel, Switzerland) are provided here courtesy of **Multidisciplinary Digital Publishing Institute (MDPI)**

PubMed Central Canada is a service of the Canadian Institutes of Health Research (CIHR) working in partnership with the National Research Council's national science library in cooperation with the National Center for Biotechnology Information at the U.S. National Library of Medicine(NCBI/NLM). It includes content provided to the PubMed Central International archive by participating publishers. |