- Operating System: Ubuntu 20.04
- ROS Version: Noetic
- GPU: NVIDIA 3090ti
git clone --recursive https://github.com/dongjineee/traversability_application.git
For setting up the Gazebo simulation environment, clone the Husky repository:
https://github.com/dongjineee/husky
After cloning, follow the instructions on that page to run the Docker setup.
1.a. Image Classification
GA-Nav: Efficient Terrain Segmentation for Robot Navigation in Unstructured Outdoor Environments
Please visit the official websites of the real-world dataset (RELLIS-3D) and the simulation dataset (NEGS-UGV) to download the files. For Data-set, we use ID annotations instead of color annotations. Please refer to the GANav Dataset Directory.
GANav Dataset Directory
GANav
├── data
│ ├── rellis
│ │ │── test.txt
│ │ │── train.txt
│ │ │── val.txt
│ │ │── annotation
│ │ │ ├── 00000 & 00001 & 00002 & 00003 & 00004
│ │ │── image
│ │ │ ├── 00000 & 00001 & 00002 & 00003 & 00004
│ ├── rugd
│ │ │── test_ours.txt
│ │ │── test.txt
│ │ │── train_ours.txt
│ │ │── train.txt
│ │ │── val_ours.txt
│ │ │── val.txt
│ │ │── RUGD_annotations
│ │ │ ├── creek & park-1/2/8 & trail-(1 & 3-7 & 9-15) & village
│ │ │── RUGD_frames-with-annotations
│ │ │ ├── creek & park-1/2/8 & trail-(1 & 3-7 & 9-15) & village
│ ├── goose
│ │ ├── goose_label_mapping.csv
│ │ ├── images
│ │ │ ├── train
│ │ │ └── val
│ │ ├── labels
│ │ │ ├── train
│ │ │ └── val
│ │ ├── LICENSE
│ │ ├── test.txt
│ │ ├── train.txt
│ │ │── val.txt
│ ├── lake
│ │ │── test.txt
│ │ │── train.txt
│ │ │── val.txt
│ │ │── annotation
│ │ └── image
├── configs
├── tools
##=========== wvn docker setting ===========##
cd traversability_application/wild_nav/wild_visual_navigation/docker
docker compose -f docker-compose-gui-nvidia.yaml build
docker compose -f docker-compose-gui-nvidia.yaml up -d
docker compose -f docker-compose-gui-nvidia.yaml exec ga_nav /bin/bash
cd src/GANav-offroad/
pip install -e .
##=========== RUN Data processing ===========##
##for rellis-3d dataset
#run relable group4
python ./tools/convert_datasets/rellis_relabel4.py
#run relable group6
python ./tools/convert_datasets/rellis_relabel6.py
##=========== RUN Training ===========##
##for rellis-3d dataset(real_world)
python ./tools/train.py ./configs/ours/ganav_group6_rellis.py
##for lake dataset(simulation)
python ./tools/train.py ./configs/ours/ganav_group6_lake.py
##=========== RUN Eval ===========##
##for rellis-3d dataset
python ./tools/test.py ./trained_models/rellis_group6/ganav_rellis.py \
./work_dirs/ganav_group6_rellis/latest.pth --eval=mIoU
##for lake dataset
python ./tools/test.py ./trained_models/lake_group6/ganav_lake_6.py \
./work_dirs/ganav_group6_lake/latest.pth --eval=mIoU
##=========== RUN Visualize ===========##
python ./tools/visualize.py <img_dir> <config> <checkpoint>
##for rellis-3d dataset
python ./tools/visualize.py ./data/rellis/image/00000 ./configs/ours/ganav_group6_rellis.py ./work_dirs/ganav_group6_rellis/latest.pth
##for lake dataset
python ./tools/visualize.py ./data/lake/image ./configs/ours/ganav_group6_lake.py ./work_dirs/ganav_group6_lake/latest.pth
# In the sim_container
roslaunch husky_gazebo husky_lake.launch rviz:=ga_nav
# In the ga_nav_container
roslaunch ga_nav ga_nav.launch
1.b. DEM Based
BGKI-Traversability
ToDo
Elevation-Mapping
ToDo
2.a. Image Based
Fast Traversability Estimation for Wild Visual Navigation
##=========== wvn docker setting ===========##
cd traversability_application/wild_nav/wild_visual_navigation/docker
docker compose -f docker-compose-gui-nvidia.yaml build
docker compose -f docker-compose-gui-nvidia.yaml up -d
docker compose -f docker-compose-gui-nvidia.yaml exec wvn_nvidia /bin/bash
source first_run.sh
##=========== RUN SIMULATION ===========##
# In the sim_container
roslaunch husky_gazebo husky_lake.launch rviz:=wild_nav
# In the wvn_container
roslaunch wild_visual_navigation_jackal wild_visual_navigation.launch
2.b. Geometric Based
Learning Self-Supervised Traversability With Navigation Experiences of Mobile Robots: A Risk-Aware Self-Training Approach
cd ~/LeSTA/docker
##image build
docker compose -f docker-compose-gui-nvidia.yaml build
##create container
docker compose -f docker-compose-gui-nvidia.yaml up -d
docker exec -it docker-lesta-1 /bin/bash
##in container
cd ~/lesta_ws/
catkin build
source devel/setup.bash
## label_generate ##
roslaunch lesta label_generation.launch
rosservice call /lesta/save_label_map "train_set.pcd" "/root/lesta_ws/src/LeSTA/data/train"
rosservice call /lesta/save_label_map "val_set.pcd" "/root/lesta_ws/src/LeSTA/data/val"
## train ##
cd /root/lesta_ws/src/LeSTA
python3 pylesta/tools/train.py
## travel predict ##
roslaunch lesta traversability_prediction.launch
roslaunch lesta traversability_mapping.launch
- RELLIS-3D : Data with Stereo Camera images, LiDAR pointclouds, GPS/IMU
- RUGD : Video dataset annotated with pixel-wise labels
- NEGS-UGV : semantic & rgb images, seamantic & raw Lidar pointsclouds