This is the code accompanying the paper: “Energy-Efficient Distributed Mobile Crowd Sensing: A Deep Learning Approach“, published in JSAC.

📄 Description

High-quality data collection is crucial for mobile crowd sensing (MCS) with various applications like smart cities and emergency rescues, where various unmanned mobile terminals (MTs), e.g., driverless cars and unmanned aerial vehicles (UAVs), are equipped with different sensors that aid to collect data. However, they are limited with fixed carrying capacity, and thus, MT’s energy resource and sensing range are constrained. It is quite challenging to navigate a group of MTs to move around a target area to maximize their total amount of collected data with the limited energy reserve, while geographical fairness among those point-of-interests (PoIs) should also be maximized. It is even more challenging if fully distributed execution is enforced, where no central control is allowed at the backend. To this end, we propose to leverage emerging deep reinforcement learning (DRL) techniques for directing MT’s sensing and movement and to present a novel and highly efficient control algorithm, called energy-efficient distributed MCS (Edics). The proposed neural network integrates convolutional neural network (CNN) for feature extraction and then makes decision under the guidance of multi-agent deep deterministic policy gradient (DDPG) method in a fully distributed manner. We also propose two enhancements into Edics with N-step return and prioritized experienced replay buffer. Finally, we evaluate Edics through extensive simulations and found the appropriate set of hyperparameters in terms of number of CNN hidden layers and neural units for all the fully connected layers. Compared with three commonly used baselines, results have shown its benefits.

🔧 Installation

  1. Clone repo

    git clone https://github.com/BIT-MCS/Edics.git
    cd Edics
  2. Install dependent packages

    conda create -n mcs python==3.8
    conda activate mcs
    pip install tensorflow-gpu==1.15
    pip install -r requirements.txt

💻 Training

Train our solution

python experiments/train.py

🏁 Testing

Test with the trained models

python experiments/test.py --load-dir=your_model_path

Random test the env

python experiments/test_random.py

👏 Reference

📜 Acknowledgement

This paper was financially supported by National Natural Science Foundation of China (No. 61772072). Corresponding author: Chi Harold Liu.

📧 Contact

If you have any question, please email [email protected].


If you are interested in our work, please cite our paper as

    author={Liu, Chi Harold and Chen, Zheyu and Zhan, Yufeng},
    journal={IEEE Journal on Selected Areas in Communications},
    title={Energy-Efficient Distributed Mobile Crowd Sensing: A Deep Learning Approach (JSAC)},


View Github