Skip to content

Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments

License

Notifications You must be signed in to change notification settings

lh03246753/Swarm-Formation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swarm-Formation

Swarm-Formation is a distributed swarm trajectory optimization framework for formation flight in dense environments.

  • A differentiable graph-theory-based cost function that effectively describes the interaction topology of robots and quantifies the similarity distance between three-dimensional formations.
  • A spatial-temporal optimization framework with a joint cost function that takes formation similarity, obstacle avoidance, and dynamic feasibility into account, which makes the swarm robots possess the ability to move in formation while avoiding obstacles.

News

  • Planning - A more general pipeline for swarm formation navigation in dense environment is on the way.
  • April 20, 2022 - A robust version v1.1 has been open-sourced for ICRA2022.

Table of Contents

1. About

Author: Lun Quan*, Longji Yin*, Chao Xu, and Fei Gao, from Fast-Lab,Zhejiang University.

Paper: Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments, Lun Quan*, Longji Yin*, Chao Xu, and Fei Gao. Accpted in ICRA2022.

@article{quan2021distributed,
      title={Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments}, 
      author={Lun Quan and Longji Yin and Chao Xu and Fei Gao},
      journal={arXiv preprint arXiv:2109.07682},
      year={2021}
}

If our source code is used in your academic projects, please cite our paper. Thank you!

Video Links: Bilibili (only for Mainland China) or Youtube.

2. Quick Start within 3 Minutes

Compiling tests passed on ubuntu 18.04 and 20.04 with ros installed. You can just execute the following commands one by one.

sudo apt-get install libarmadillo-dev
git clone https://github.com/ZJU-FAST-Lab/Swarm-Formation.git
cd Swarm-Formation
catkin_make -j1
source devel/setup.bash
roslaunch ego_planner rviz.launch

Then open a new command window in the same workspace and execute the following commands one by one.

source devel/setup.bash
roslaunch ego_planner normal_hexagon.launch

Then use "2D Nav Goal" in rviz to publish the goal for swarm formation navigation. You need to specify the value of flight_type in run_in_sim.launch:

Now only two forms are supported to specify the target point.

  • flight_type = 2: use global waypoints
  • flight_type = 3: use "2D Nav Goal" to select goal

Finally, you can see a normal hexagon formation navigating in random forest map.

If you find this work useful or interesting, please kindly give us a star ⭐, thanks!😀

3. Tips

  1. We recommend developers to use rosmon to replace the roslaunch
  • Why we use rosmon? : It is very developer-friendly, especially for the development of multi-robots.
  • How to use rosmon? : Install:
    sudo apt install ros-${ROS_DISTRO}-rosmon
    source /opt/ros/${ROS_DISTRO}/setup.bash # Needed to use the 'mon launch' shortcut
    
    Run the simple example of our project:
    source devel/setup.bash
    roslaunch ego_planner rviz.launch
    
    Then open a new command window in the same workspace and use rosmon:
    source devel/setup.bash
    mon launch ego_planner normal_hexagon.launch
    

4. Important updates

  • May 9, 2022 -Add Interface: Publish target points through "2D Nav Goal" in rviz for swarm formation navigation.
  • April 12, 2022 - A distributed swarm formation optizamition framework is released. An example of normal hexagon formation navigation in random forest map is given.

5. Acknowledgements

There are several important works which support this project:

  • GCOPTER: An efficient and versatile multicopter trajectory optimizer built upon a novel sparse trajectory representation named MINCO.
  • LBFGS-Lite: An Easy-to-Use Header-Only L-BFGS Solver.
  • EGO-Swarm: A Fully Autonomous and Decentralized Quadrotor Swarm System in Cluttered Environments.

6. Licence

The source code is released under GPLv3 license.

7. Maintenance

We are still working on extending the proposed system and improving code reliability.

For any technical issues, please contact Lun Quan ([email protected]) or Fei Gao ([email protected]).

For commercial inquiries, please contact Fei Gao ([email protected]).

About

Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 83.3%
  • CMake 6.5%
  • Python 4.8%
  • Cuda 2.3%
  • C 2.1%
  • CSS 0.7%
  • Other 0.3%