Swarm-Formation 是一个分布式的编队轨迹优化框架,用于密集环境中的编队飞行规划。本作业需要基于 Swarm-Formation,完成无人机编队飞行以及编队变换的仿真。
- 可以使用不限数量的无人机组成编队。
- 无人机在飞行过程中依次变换出"S","Y","S","U"四种队形,允许起始队形为字母"S"。
- 仿真场景已固定随机种子,请不要修改
map_generator
的代码以及normal_hexagon.launch
文件中该节点的参数。
- 源代码
- 飞行演示GIF
- 报告:简述实现思路,与演示结果截图,不超过3页;
提交截止时间另行通知。
- Distributed Swarm Trajectory Optimization for Formation Flight in Dense Environments, Lun Quan*, Longji Yin*, Chao Xu, and Fei Gao. Accepted in ICRA2022.
- Robust and Efficient Trajectory Planning for Formation Flight in Dense Environments,Lun Quan, Longji Yin, Tingrui Zhang, Mingyang Wang, Ruilin Wang, Sheng Zhong, Zhou Xin, Yanjun Cao, Chao Xu and Fei Gao. Accepted for IEEE Transactions on Robotics
请阅读以下内容,以快速启动本次作业。
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.
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. Accepted 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.
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/SYSU-HILAB/Swarm-Control-Course-Addtional-Work.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!😀
If your operating system doesn't support ROS noetic, docker is a great alternative.
First of all, you have to build the project and create an image like so:
## Assuimg you are in the correct project directory
make docker_build
After the image is created, copy and paste the following command to the terminal to run the image:
xhost +
make docker_run
Then execute the following command;
roslaunch ego_planner normal_hexagon.launch
- 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:
Run the simple example of our project:
sudo apt install ros-${ROS_DISTRO}-rosmon source /opt/ros/${ROS_DISTRO}/setup.bash # Needed to use the 'mon launch' shortcut
Then open a new command window in the same workspace and use rosmon:source devel/setup.bash roslaunch ego_planner rviz.launch
source devel/setup.bash mon launch ego_planner normal_hexagon.launch
- 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.
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.
The source code is released under GPLv3 license.
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]).