Code Monkey home page Code Monkey logo

gcrl-min-aoi's Introduction

GCRL-min(AoI)

This is the code accompanying the paper: "AoI-minimal UAV Crowdsensing by Model-based Graph Convolutional Reinforcement Learning", published in IEEE INFOCOM 2022.

๐Ÿ“„ Description

Mobile Crowdsensing (MCS) with smart devices has become an appealing paradigm for urban sensing.With the development of 5G-and-beyond technologies, unmanned aerial vehicles (UAVs) become possible for real-time applications, including wireless coverage, search and even disaster response. In this paper, we consider to use a group of UAVs as aerial base stations (BSs) to move around and collect data from multiple MCS users, forming a UAV crowdsensing campaign (UCS). Our goal is to maximize the collected data, geographical coverage whiling minimizing the age-of-information (AoI) of all mobile users simultaneously, with efficient use of constrained energy reserve. We propose a model-based deep reinforcement learning (DRL) framework called โ€GCRL-min(AoI)โ€, which mainly consists of a novel model-based Monte Carlo tree search (MCTS) structure based on state-of-the- art approach MCTS (AlphaZero). We further improve it by adding a spatial UAV-user correlation extraction mechanism by a relational graph convolutional network (RGCN), and a next state prediction module to reduce the dependance of experience data. Extensive results and trajectory visualization on three real human mobility datasets in Purdue University, KAIST and NCSU show that GCRL-min(AoI) consistently outperforms five baselines, when varying different number of UAVs and maximum coupling loss in terms of four metrics.

๐Ÿ”ง Installation

  1. Clone repo
    git clone https://github.com/BIT-MCS/GCRL-min-AoI.git
    cd GCRL-min-AoI
  2. Install dependent packages
    # system-env
    sudo apt-get install libgeos++-dev libproj-dev
    
    # python-env
    conda create -n mcs python==3.8
    conda activate mcs
    conda install pytorch cudatoolkit tensorboard future
    conda install --channel conda-forge cartopy
    pip install -r requirements.txt
    
    # Install movingpandas
    mkdir requirements && cd requirements
    git clone https://github.com/anitagraser/movingpandas.git
    python setup.py develop

๐Ÿ’ป Training

Train our solution

python train_our_policy.py --overwrite --output_dir logs/debug

Train our solution with trajectory visualization for debugs

python train_our_policy.py --overwrite --test_after_every_eval --vis_html --plot_loop --moving_line --output_dir logs/debug

๐Ÿ Testing

Test with the trained models

python test_our_policy.py --vis_html --plot_loop --moving_line --model_dir logs/debug

Random test the env

python test_random.py --overwrite --vis_html --plot_loop --moving_line --output_dir logs/debug

๐Ÿ‘ Reference

๐Ÿ“œ Acknowledgement

This work is supported by the National Natural Science Foundation of China (No. 62022017).
Corresponding author: Chi Harold Liu.

๐Ÿ“ง Contact

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

Paper

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

@inproceedings{dai2022aoi,
  author    = {Dai, Zipeng and Liu, Chi Harold and Ye, Yuxiao and Han, Rui and Yuan, Ye and Wang, Guoren and Tang, Jian},
  title     = {AoI-minimal UAV Crowdsensing by Model-based Graph Convolutional Reinforcement Learning},
  booktitle = {IEEE International Conference on Computer Communications (INFOCOM)},
  year      = {2022},
}

gcrl-min-aoi's People

Contributors

superboysb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.