This repo contains the official implementation of Sailing Through Point Clouds: Safe Navigation Using Point Cloud Based Control Barrier Functions.
First, clone the repo and pull the meshes using the following commands
git clone https://github.com/BolunDai0216/SailingThroughPointClouds.git
# Git LFS
git lfs pull
Note
The only supported way to run the code is via a dev container on a Linux machine. However (maybe with some changes), the code will work under other settings, please open a GitHub issue for assistance.
To build the dev container, first run the setup script in inside provisioning
to create the .zsh_history
file, which will be mounted to the dev container
cd /path/to/provisioning && bash setup.sh
Then, open a VS Code window at the root of this repo
cd /path/to/SailingThroughPointClouds && code .
Then press Shift + Ctrl + P
and select Dev Containers: Rebuild and Reopen in Container
, which builds the dev container. After the container is built, first generate the height map data by running the dataset generation script in scripts
mkdir data && cd /path/to/scripts && python3 dataset_gen.py
This will save the generated height maps inside the newly created data
folder. Then, to run the simulation, run the command
cd /path/to/scripts && python3 sim.py
To cite our paper, please use the following BibTeX
@article{DaiKKK24,
author = {Bolun Dai and Rooholla Khorrambakht and Prashanth Krishnamurthy and Farshad Khorrami},
title = {Sailing Through Point Clouds: Safe Navigation Using Point Cloud Based Control Barrier Functions},
journal = {{IEEE} Robotics and Automation Letters},
year = {2024},
volume = {9},
number = {9},
pages = {7731-7738},
}