Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
R

RACER

> 编程语言
Open source

Rapid Exploration with Multiple Unmanned Aerial Vehicles (UAV)

775 stars0 likes1 views
WebsiteGitHub

About

Rapid Exploration with Multiple Unmanned Aerial Vehicles (UAV)

RACER

RACER, a RApid Collaborative ExploRation approach using a fleet of decentralized UAVs.

We develop a fully decentralized approach for exploration tasks using a fleet of quadrotors. The proposed system features robustness against unstable communication and a high degree of coordination. The quadrotor team operates with asynchronous and limited communication and does not require any central control. The coverage paths and workload allocations of the team are optimized and balanced in order to fully realize the system's potential. The associated paper has been published in IEEE Transactions on Robotics and is selected as the 2023 IEEE TRO Best Paper!

Try Quick Start to run a demo in a few minutes!

Complete video: video.

Authors: Boyu Zhou from SYSU STAR Group, and Hao Xu, Shaojie Shen from the HKUST Aerial Robotics Group.

Please cite our paper if you use this project in your research:

  • RACER: Rapid Collaborative Exploration with a Decentralized Multi-UAV System, Boyu Zhou, Hao Xu, Shaojie Shen, IEEE Transactions on Robotics (T-RO) ,
@article{zhou2023racer,
  title={Racer: Rapid collaborative exploration with a decentralized multi-uav system},
  author={Zhou, Boyu and Xu, Hao and Shen, Shaojie},
  journal={IEEE Transactions on Robotics},
  year={2023},
  publisher={IEEE}
}

Please kindly star :star: this project if it helps you. We take great efforts to develope and maintain it :grin::grin:.

Table of Contents

  • RACER
    • Table of Contents
    • Quick Start
    • Exploring Different Environments
    • Acknowledgements

Quick Start

This project has been tested on Ubuntu 18.04(ROS Melodic) and 20.04(ROS Noetic).

Firstly, you should install nlopt v2.7.1:

bash
git clone -b v2.7.1 https://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install

Next, you can run the following commands to install other required tools:

bash
sudo apt-get install libarmadillo-dev

After that, you need to install LKH-3(LKH-3.0.6 version is recommended) with the following commands. Please make sure the executable file LKH is correctly placed at /usr/local/bin.

bash
wget http://akira.ruc.dk/~keld/research/LKH-3/LKH-3.0.6.tgz
tar xvfz LKH-3.0.6.tgz
cd LKH-3.0.6
make
sudo cp LKH /usr/local/bin

Then simply clone and compile our package (using ssh here):

bash
cd ${YOUR_WORKSPACE_PATH}/src
git clone https://github.com/SYSU-STAR/RACER.git
cd ../ 
catkin_make

After compilation you can start a sample swarm exploration demo. Firstly run Rviz for visualization:

source devel/setup.bash && roslaunch exploration_manager rviz.launch

then run the simulation (run in a new terminals):

source devel/setup.bash && roslaunch exploration_manager swarm_exploration.launch

By default you can see a pillar-like environment. Trigger the quadrotor to start exploration by the 2D Nav Goal tool in Rviz. A sample is shown below, where unexplored structures are shown in grey and explored ones are shown in colorful voxels. The FoV and trajectories of the quadrotor are also displayed.

Exploring Different Environments

The exploration environments in our simulator are represented by .pcd files. We provide several sample environments, which can be selected in swarm_exploration.launch:

xml
  
  
      

Other examples can be found in map_generator/resource. If you want to use your own environments, simply place the .pcd files in map_generator/resource, and follow the comments above to specify it. You may also need to change the bounding box of explored space in exploration.launch:

xml
  
  
  
  
  
  

To create your own .pcd environments, you can use this tool.

Acknowledgements

We use NLopt for non-linear optimization and use LKH for travelling salesman problem.

Issues· 43 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言