# RACER **Repository Path**: shanechang/RACER ## Basic Information - **Project Name**: RACER - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-21 - **Last Updated**: 2026-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RACER **RACER**, a **RA**pid **C**ollaborative **E**xplo**R**ation 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](#quick-start) to run a demo in a few minutes!

__Complete video__: [video](https://www.bilibili.com/video/BV1ec411J7ps/?spm_id_from=333.999.0.0&vd_source=ce9122be0193fcad2e9384dacc62f4fa). __Authors__: [Boyu Zhou](http://sysu-star.com) from SYSU STAR Group, and Hao Xu, [Shaojie Shen](http://uav.ust.hk/group/) from the [HKUST Aerial Robotics Group](http://uav.ust.hk/). Please cite our paper if you use this project in your research: - [__RACER: Rapid Collaborative Exploration with a Decentralized Multi-UAV System__](https://arxiv.org/abs/2209.08533), 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](#racer) - [Table of Contents](#table-of-contents) - [Quick Start](#quick-start) - [Exploring Different Environments](#exploring-different-environments) - [Acknowledgements](#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__: ``` 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: ``` 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`. ``` 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): ``` 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](https://pointclouds.org/documentation/tutorials/pcd_file_format.html). We provide several sample environments, which can be selected in [swarm_exploration.launch](swarm_exploration/exploration_manager/launch/swarm_exploration.launch): ```xml ``` Other examples can be found in [map_generator/resource](uav_simulator/map_generator/resource). If you want to use your own environments, simply place the .pcd files in [map_generator/resource](uav_simulator/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](swarm_exploration/exploration_manager/launch/single_drone_planner.xml): ```xml ``` To create your own .pcd environments, you can use [this tool](https://github.com/HKUST-Aerial-Robotics/FUEL#creating-a-pcd-environment).

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