{"id":19526638,"url":"https://github.com/zju-fast-lab/edg-team","last_synced_at":"2025-04-26T10:31:28.458Z","repository":{"id":44348968,"uuid":"489265678","full_name":"ZJU-FAST-Lab/EDG-TEAM","owner":"ZJU-FAST-Lab","description":"Enhanced Decentralized Autonomous Aerial Robot Teams with Group Planning","archived":false,"fork":false,"pushed_at":"2022-07-04T06:02:02.000Z","size":7139,"stargazers_count":47,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T11:46:42.316Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZJU-FAST-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-06T07:52:55.000Z","updated_at":"2025-03-15T03:20:31.000Z","dependencies_parsed_at":"2022-09-22T13:23:55.195Z","dependency_job_id":null,"html_url":"https://github.com/ZJU-FAST-Lab/EDG-TEAM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZJU-FAST-Lab%2FEDG-TEAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZJU-FAST-Lab%2FEDG-TEAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZJU-FAST-Lab%2FEDG-TEAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZJU-FAST-Lab%2FEDG-TEAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZJU-FAST-Lab","download_url":"https://codeload.github.com/ZJU-FAST-Lab/EDG-TEAM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250972812,"owners_count":21516429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T01:11:11.068Z","updated_at":"2025-04-26T10:31:23.644Z","avatar_url":"https://github.com/ZJU-FAST-Lab.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EDG-TEAM\n\n## 1. Overview\n**EDG-TEAM** is an enhanced decentralized autonomous aerial robot team system with group planning.\n\n**Paper**: **E**nhanced **D**ecentralized Autonomous Aerial Robot **Teams** with\n**G**roup Planning\n\n**Video**: \n\n**Architecture:**\n\u003cp align = \"center\"\u003e\n\u003cimg src=\"pictures/system_framework.png\" width = \"640\" height = \"360\" border=\"5\" /\u003e\n\u003c/p\u003e\n\n---\n## 2. Standard Compilation\n\n**Requirements**: ubuntu 16.04, 18.04 with ros-desktop-full installation.\n\n**Step 1**. Install [Armadillo](http://arma.sourceforge.net/), which is required by **uav_simulator**.\n```\nsudo apt-get install libarmadillo-dev\n``` \n\n**Step 2**. Clone the code from github.\n```\ngit clone https://github.com/ZJU-FAST-Lab/EDG-TEAM.git\n```\n\n**Step 3**. Compile,\n```\ncd EDG-TEAM\ncatkin_make\n```\n\n---\n## 3. Experiment\n\n### 3.1 real world - circle\n\nWe 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\".\n\nIn a terminal at the _EDG-TEAM/_ folder, open the rviz for visualization and interactions\n```\nsource devel/setup.bash\nroslaunch edg_team rviz_map_circle.launch\n```\n\nIn another terminal at the _EDG-TEAM/_, run the planner in simulation by\n```\nsource devel/setup.bash\nroslaunch edg_team real_world_circle.launch\n```\nThen you will see the scene in the gif.\n\u003cp align = \"center\"\u003e\n\u003cimg src=\"pictures/circle.gif\" width = \"640\" height = \"360\" border=\"5\" /\u003e\n\u003c/p\u003e\n\n### 3.2 real world - rectangle\nThe 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.\n\nIn a terminal at the _EDG-TEAM/_ folder, open the rviz for visualization and interactions\n```\nsource devel/setup.bash\nroslaunch edg_team rviz_map_rect.launch\n```\n\nIn another terminal at the _EDG-TEAM/_, run the planner in simulation by\n```\nsource devel/setup.bash\nroslaunch edg_team real_world_rect.launch \n```\n\nThen you will see the scene in the gif.\n\u003cp align = \"center\"\u003e\n\u003cimg src=\"pictures/rectangle.gif\" width = \"640\" height = \"360\" border=\"5\" /\u003e\n\u003c/p\u003e\n\n### 3.3 narrow gate challenge\nWe 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.\n\nIn a terminal at the _EDG-TEAM/_ folder, open the rviz for visualization and interactions\n```\nsource devel/setup.bash\nroslaunch edg_team rviz_map_narrow_gate.launch\n```\n\nIn another terminal at the _EDG-TEAM/_, run the planner in simulation by\n```\nsource devel/setup.bash\nroslaunch edg_team narrow_gate_challenge.launch\n```\n\nThen you will see the scene in the gif.\n\u003cp align = \"center\"\u003e\n\u003cimg src=\"pictures/narrow_gate.gif\" width = \"550\" height = \"640\" border=\"5\" /\u003e\n\u003c/p\u003e\n\n### 3.4 large scale simulation\nIn 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.\n\n**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.\n\nIn a terminal at the _EDG-TEAM/_ folder, open the rviz for visualization and interactions\n```\nsource devel/setup.bash\nroslaunch edg_team rviz_map_large_scale_simulation.launch \n```\n\nIn another terminal at the _EDG-TEAM/_, run the planner in simulation by\n```\nsource devel/setup.bash\nroslaunch edg_team large_scale_simulation.launch \n```\n\nThen you will see the scene in the gif.\n\u003cp align = \"center\"\u003e\n\u003cimg src=\"pictures/large_swarm.gif\" width = \"640\" height = \"360\" border=\"5\" /\u003e\n\u003c/p\u003e\n\n## 4. Utilize the Full Performance of CPU\nThe 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.\n\nTherefore, we recommend you to manually set the CPU frequency to the maximum.\nFirstly, install a tool by\n```\nsudo apt install cpufrequtils\n```\nThen you can set the CPU frequency to the maximum allowed by\n```\nsudo cpufreq-set -g performance\n```\nMore information can be found in [http://www.thinkwiki.org/wiki/How_to_use_cpufrequtils](http://www.thinkwiki.org/wiki/How_to_use_cpufrequtils).\n\nNote that CPU frequency may still decrease due to high temperature in high load.\n\n## 5. Acknowledgements\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzju-fast-lab%2Fedg-team","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzju-fast-lab%2Fedg-team","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzju-fast-lab%2Fedg-team/lists"}