# SCAN-Planner
**Repository Path**: Canada-a/SCAN-Planner
## Basic Information
- **Project Name**: SCAN-Planner
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-07-10
- **Last Updated**: 2026-07-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
SCAN-Planner is a spatial collision-aware local planner, providing a robust low-level planning foundation for various upper-level tasks, such as autonomous exploration and vision-language navigation.
## 🧭 System Overview
## 📢 News
- **[Jul. 9, 2026]**: Release the main algorithm of **SCAN-Planner**.
## 🤖 Demonstrations
More videos and interactive demonstrations are available on the
project page.
## 🛠️ Installation
> Tested on Ubuntu 20.04 with ROS Noetic
**Step 1**. Install [Armadillo](http://arma.sourceforge.net/), which is required by **simulator**.
```
sudo apt-get install libarmadillo-dev
```
**Step 2**. Clone our repository and compile.
```
git clone https://github.com/wuyi2121/SCAN-Planner.git
cd SCAN-Planner
catkin_make
```
## 🚀 Quick Start
Launch RViz in one terminal:
```
source devel/setup.bash && roslaunch scan_planner rviz.launch
```
Launch the algorithm in another terminal:
```
source devel/setup.bash && roslaunch scan_planner run.launch
```
## 🔧 Important Functions
The main launch options are defined in [`run.launch`](src/planner/plan_manage/launch/run.launch):
- `is_real_world`: set to `true` when running with real robot topics, and `false` when testing with the simulator.
- `navi_mode`: selects the navigation interface:
- `1`: interactive 2D Nav Goal mode
- `2`: keypoint-based multi-floor navigation; see [`tools/README.md`](tools/README.md)
- `3`: reference-path tracking with local obstacle avoidance; see [`TravExplorer`](https://github.com/wuyi2121/TravExplorer)
- `sensor_type`: select the sensing input. Use `lidar` for point-cloud sensors such as MID360, and `depth` for depth cameras such as RealSense D435.
Other algorithm-related parameters are listed in [`advanced_param.xml`](src/planner/plan_manage/launch/advanced_param.xml). The default settings are tuned for Unitree Go2 and should be adjusted when using a different robot platform.
## ⚙️ Optional
**local_sensing** provides CPU and GPU implementations: `pcl_render_node` and `opengl_render_node`.
The CPU version is built by default for better compatibility. To build the GPU backend, first install the dependencies:
```bash
sudo apt-get install libglew-dev libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
```
Then enable the GPU build option and compile:
```bash
catkin_make -DUSE_GPU=ON
```
The `use_gpu` option in [`simulator.xml`](src/planner/plan_manage/launch/simulator.xml) selects which sensing node to launch.
## 🤓 Acknowledgements
We would like to express our gratitude to the following projects, which have provided significant support and inspiration for our work:
- Our planner supports various high-level tasks, such as a cross-floor embodied exploration project [TravExplorer](https://github.com/wuyi2121/TravExplorer).
- Our localization module is based on [Elevator-LIO](https://github.com/xiaofan4122/Elevator-LIO), a robust multi-floor extension of [FAST-LIO2](https://github.com/hku-mars/FAST_LIO).
- Our framework builds on [EGO-Planner](https://github.com/ZJU-FAST-Lab/ego-planner), which achieves impressive performance in quadrotor local planning.
- Our map representation is inspired by [ROG-Map](https://github.com/hku-mars/ROG-Map), a high-performance robot-centric mapping framework.
- Our simulator is adapted from [MARSIM](https://github.com/hku-mars/MARSIM), with map generation from [Mockamap](https://github.com/HKUST-Aerial-Robotics/mockamap) and trotting motion from [Leg-KILO](https://github.com/ouguangjun/Leg-KILO).
## 📚 Citation
```bibtex
@article{zheng2026scan,
title={SCAN-Planner: Spatial Collision-Aware Local Planning for Route-Guided Long-Range Quadruped Navigation},
author={Zheng, Han and Chen, Zhe and Fu, Yiwen and Yang, Ming and Qin, Tong},
journal={arXiv preprint arXiv:2606.19555},
year={2026}
}
```
## ⚖️ License
This project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.