Skip to content

marmotlab/CogniPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CogniPlan: Predict Layouts Before Plan

CogniPlan: Uncertainty-Guided Path Planning with Conditional Generative Layout Prediction

News / ToDo

  • Stay tuned for more updates.
  • [31 Jan 2026] Release ROS noetic simulation code for exploration (noetic branch).
  • [9 Sep 2025] Release code and model for navigation (navigation branch).
  • [6 Sep 2025] Release code and model for exploration (main branch).
  • [4 Aug 2025] CogniPlan is accepted to CoRL 2025!

diagram

Setup

Environment

We use conda/mamba to manage the environment. The required packages are listed below. We have tested multiple versions without major issues, so you may adjust them as needed.

conda create -n cogniplan python=3.12 scikit-image imageio pandas tensorboard matplotlib
conda activate cogniplan
pip install torch torchvision opencv-python ray wandb

Checkpoints and Datasets

Clone this repository and navigate to the directory.

git clone https://github.com/marmotlab/CogniPlan
cd CogniPlan

Download the required checkpoints and datasets using the scripts below. It will unpack them to the corresponding directories automatically.

# Default: checkpoints + maps_train + maps_eval
bash dataset/download.sh

# Optional datasets: for inpainting module training/evaluation
bash dataset/download.sh optional

# Everything
bash dataset/download.sh all

You can also manually download and unpack the files from our release page.

Training

Configure planner training parameters in planner/parameter.py as needed, then run:

python -m planner.driver

To train the inpainting module, adjust settings in mapinpaint/config.yaml, then run:

python -m mapinpaint.train

Evaluation

To evaluate our pre-trained model, set FOLDER_NAME = "cogniplan_exp_pred7" in planner/parameter.py, and then run:

python -m planner.test_driver

By default, it tests 150 maps in dataset/maps_eval, as specified in the parameters in planner/test_driver.py.

To evaluate the inpainting module, run:

python -m mapinpaint.evaluator

Note: If you want to debug in PyCharm, edit the run configuration kind from Script to Module, and set planner.xxx or mapinpaint.xxx as the module name. Make sure the working directory is set to the root of this repository.

Citation

@inproceedings{wang2025cogniplan,
  author={Wang, Yizhuo and He, Haodong and Liang, Jingsong and Cao, Yuhong and Chakraborty, Ritabrata and Sartoretti, Guillaume},
  title={CogniPlan: Uncertainty-Guided Path Planning with Conditional Generative Layout Prediction},
  booktitle={Conference on Robot Learning},
  year={2025},
  organization={PMLR}
}

Authors

Yizhuo Wang, Haodong He, Jingsong Liang, Yuhong Cao, Ritabrata Chakraborty, Guillaume Sartoretti

About

[CoRL 2025] CogniPlan: Uncertainty-Guided Path Planning with Conditional Generative Layout Prediction - Public code and model

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors