Learn robot-specific traversability from a short manual drive — no labels needed
LeSTA is a self-supervised framework that learns navigational capability of mobile robots. By leveraging a short period of manual driving, it provides an end-to-end pipeline from label generation to real-time traversability prediction and mapping.
🎉 News & Updates:
- 2024.07.30: Our paper is accepted for presentation at IEEE ICRA@40 in Rotterdam, Netherlands
- 2024.02.29: Our paper is accepted by IEEE Robotics and Automation Letters (RA-L)
- 2024.02.19: Release public dataset for learning terrain traversability in urban environments
🧩 Related projects:
- FastDEM — Ultra-fast elevation mapping on embedded robots
- EviGround — (in preparation)
Our project is built on ROS, successfully tested on the following setup.
- Ubuntu 20.04 / ROS Noetic
- PyTorch 2.2.2 / LibTorch 2.6.0
ROS2 support is coming soon.
-
Install Grid Map library for height mapping:
sudo apt install ros-noetic-grid-map -y
-
Install LibTorch (choose one option):
CPU-only version (Recommended for easier setup)
wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.6.0%2Bcpu.zip -P ~/Downloads sudo unzip ~/Downloads/libtorch-cxx11-abi-shared-with-deps-2.6.0+cpu.zip -d /opt rm ~/Downloads/libtorch-cxx11-abi-shared-with-deps-2.6.0+cpu.zip
GPU-supported version (e.g. CUDA 11.8)
# To be updated... -
Build lesta_ros package:
cd ~/ros_ws/src git clone https://github.com/Ikhyeon-Cho/LeSTA.git cd .. catkin build lesta source devel/setup.bash
Notes:
- We recommend starting without GPU processing. The network effectively runs on a single CPU core.
- If you are interested in height map reconstruction, see height_mapping for more details.
-
Install PyTorch (choose one option):
CPU-only setup
We recommend using a virtual environment for PyTorch installation.
Conda
conda create -n lesta python=3.8 -y conda activate lesta conda install pytorch=2.2 torchvision cpuonly tensorboard -c pytorch -y
Virtualenv
virtualenv -p python3.8 lesta-env source lesta-env/bin/activate pip install torch==2.2 torchvision tensorboard --index-url https://download.pytorch.org/whl/cpuCUDA setup
We recommend using a virtual environment for PyTorch installation.
Conda
conda create -n lesta python=3.8 -y conda activate lesta conda install pytorch=2.2 torchvision tensorboard cudatoolkit=11.8 -c pytorch -c conda-forge -y
Virtualenv
virtualenv -p python3.8 lesta-env source lesta-env/bin/activate pip install torch==2.2 torchvision tensorboard --index-url https://download.pytorch.org/whl/cu118 -
Install pylesta package:
# Make sure your virtual environment is activated cd LeSTA pip install -e pylesta
To be updated...
The pipeline consists of three steps: label generation → model training → traversability estimation.
Note: We highly recommend training with your own robot's data. The robot's unique sensor setup and motion dynamics are crucial for accurate traversability predictions. For rapid testing, use checkpoints from #Model Zoo and skip to Step 3.
roslaunch lesta label_generation.launchNote: See #dataset for example rosbag files.
rosbag play {your-rosbag}.bag --clock -r 3rosservice call /lesta/save_label_map "training_set" "" # {filename} {directory}The labeled height map will be saved as a single
training_set.pcdfile in the root directory of the package.
Note: See
pylesta/configs/lesta.yamlfor more training details.
# Make sure your virtual environment is activated
cd LeSTA
python pylesta/tools/train.py --dataset "training_set.pcd"Configure model_path variable in lesta_ros/config/*_node.yaml with your model checkpoint.
- trav_prediction_node.yaml
- trav_mapping_node.yaml
Note: See #model-zoo for our pre-trained checkpoints.
We provide two options for traversability estimation:
Left: Robot-centric traversability prediction. Right: Real-time traversability mapping.
| 1. Traversability Prediction | 2. Traversability Mapping |
|---|---|
|
|
How to run:
-
For traversability prediction:
roslaunch lesta traversability_prediction.launch
-
For traversability mapping:
roslaunch lesta traversability_mapping.launch
rosbag play {your-rosbag}.bag --clock -r 2We release the public dataset used in our paper:
- urban-traversability-dataset — labeled height maps for traversability learning in urban environments
Sample rosbags configured to run with the default settings:
-
Campus road [Google Drive]
-
Parking lot [Google Drive]
-
Artifacts from dynamic objects:
- We currently implemented a raycasting-based approach to remove artifacts from dynamic objects.
- This is crucial for accurate static terrain representation, which directly impacts prediction quality.
- Yet, not enough to handle all artifacts.
- We are working on more robust methods to detect and filter dynamic objects in real-time.
-
Performance degradation due to noisy height mapping:
- Traversability is learned and predicted from a dense height map.
- The dense height map is accomplished by concatenating many sparse LiDAR scans.
- A good SLAM / 3d pose estimation is required to get a good height map.
- In typical settings, FAST-LIO2, LIO-SAM, or CT-ICP are good starting points.
- We are working on improving the height mapping accuracy.
Thank you for citing our paper if this helps your research project:
Ikhyeon Cho, and Woojin Chung. 'Learning Self-Supervised Traversability With Navigation Experiences of Mobile Robots: A Risk-Aware Self-Training Approach', IEEE Robotics and Automation Letters, Feb. 2024.
@article{cho2024learning,
title={Learning Self-Supervised Traversability With Navigation Experiences of Mobile Robots: A Risk-Aware Self-Training Approach},
author={Cho, Ikhyeon and Chung, Woojin},
journal={IEEE Robotics and Automation Letters},
year={2024},
volume={9},
number={5},
pages={4122-4129},
doi={10.1109/LRA.2024.3376148}
}You can also check the paper of our baseline:
Hyunsuk Lee, and Woojin Chung. 'A Self-Training Approach-Based Traversability Analysis for Mobile Robots in Urban Environments', IEEE International Conference on Robotics and Automation (ICRA), 2021.
@inproceedings{lee2021self,
title={A self-training approach-based traversability analysis for mobile robots in urban environments},
author={Lee, Hyunsuk and Chung, Woojin},
booktitle={2021 IEEE International Conference on Robotics and Automation (ICRA)},
pages={3389--3394},
year={2021},
organization={IEEE}
}Contact: tre0430@korea.ac.kr
Apache-2.0 License © Ikhyeon Cho
