Coder Social home page Coder Social logo

cygong / edg-team Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zju-fast-lab/edg-team

0.0 0.0 0.0 6.97 MB

Enhanced Decentralized Autonomous Aerial Robot Teams with Group Planning

License: GNU General Public License v3.0

C++ 85.52% Python 4.27% C 1.76% Fortran 0.06% CSS 0.61% Cuda 1.94% Makefile 0.13% HTML 0.03% CMake 5.67%

edg-team's Introduction

EDG-TEAM

1. Overview

EDG-TEAM is an enhanced decentralized autonomous aerial robot team system with group planning.

Paper: Enhanced Decentralized Autonomous Aerial Robot Teams with Group Planning

Video:

Architecture:


2. Standard Compilation

Requirements: ubuntu 16.04, 18.04 with ros-desktop-full installation.

Step 1. Install Armadillo, which is required by uav_simulator.

sudo apt-get install libarmadillo-dev

Step 2. Clone the code from github.

git clone https://github.com/ZJU-FAST-Lab/EDG-TEAM.git

Step 3. Compile,

cd EDG-TEAM
catkin_make

3. Experiment

3.1 real world - circle

We place eight drones on two concentric circles with diameters of 10m and 4m respectively (four drones on each circle). The mission of each drone is to go to the diagonal position of the other circle. In the mission, the entire system completes the mode switch in a manner of "Single-agent Planning to Group Planning to Single-agent Planning".

In a terminal at the EDG-TEAM/ folder, open the rviz for visualization and interactions

source devel/setup.bash
roslaunch edg_team rviz_map_circle.launch

In another terminal at the EDG-TEAM/, run the planner in simulation by

source devel/setup.bash
roslaunch edg_team real_world_circle.launch

Then you will see the scene in the gif.

3.2 real world - rectangle

The four drones cross and exchange positions every 8m in the longitudinal direction in a dense environment. The entire mission has 5 crossflights, and each cross-flight performs the mode switch in a manner of "Single-agent Planning to Group Planning to Single-agent Planning". When four drones are dispersed, each drone performs single-agent planning. When four drones assemble, group planning is triggered.

In a terminal at the EDG-TEAM/ folder, open the rviz for visualization and interactions

source devel/setup.bash
roslaunch edg_team rviz_map_rect.launch

In another terminal at the EDG-TEAM/, run the planner in simulation by

source devel/setup.bash
roslaunch edg_team real_world_rect.launch 

Then you will see the scene in the gif.

3.3 narrow gate challenge

We create an extremely challenging environment, consisting of a wall with a narrow gate. Each side of the wall has three drones, and their goal points are diagonal positions on the other side.

In a terminal at the EDG-TEAM/ folder, open the rviz for visualization and interactions

source devel/setup.bash
roslaunch edg_team rviz_map_narrow_gate.launch

In another terminal at the EDG-TEAM/, run the planner in simulation by

source devel/setup.bash
roslaunch edg_team narrow_gate_challenge.launch

Then you will see the scene in the gif.

3.4 large scale simulation

In a 50ร—50m map, we simulate future air traffic scenarios. The initial positions of 50 drones are generated at random, and each drone must pass through three randomly generated goal positions. When multiple drones meet the group planning criteria, group planning is triggered. Group planning is triggered 35 times during the whole mission.

Note: This experiment requires a lot of computing power. You can comment out lines 135-136 in grid_map.cpp(EDG-TEAM/src/planner/plan_env/src/grid_map.cpp) to save computing power. However, there is still the possibility that the program crashes due to insufficient computing power.

In a terminal at the EDG-TEAM/ folder, open the rviz for visualization and interactions

source devel/setup.bash
roslaunch edg_team rviz_map_large_scale_simulation.launch 

In another terminal at the EDG-TEAM/, run the planner in simulation by

source devel/setup.bash
roslaunch edg_team large_scale_simulation.launch 

Then you will see the scene in the gif.

4. Utilize the Full Performance of CPU

The computation time of our planner is too short for the OS to increase CPU frequency, which makes the computation time tend to be longer and unstable.

Therefore, we recommend you to manually set the CPU frequency to the maximum. Firstly, install a tool by

sudo apt install cpufrequtils

Then you can set the CPU frequency to the maximum allowed by

sudo cpufreq-set -g performance

More information can be found in http://www.thinkwiki.org/wiki/How_to_use_cpufrequtils.

Note that CPU frequency may still decrease due to high temperature in high load.

5. Acknowledgements

edg-team's People

Contributors

robot-hjl 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.