This repository implements Global Tensor Motion Planning gtmp
and its smooth structure GTMP-Akima in JAX.
This work has been submitted to IEEE RA-L. Please find the pre-print here:
Activate your conda/Python environment, clone and install kinax
:
git clone [email protected]:anindex/kinax.git
cd kinax
pip install -e .
Then, navigate to gtmp
root directory and install
pip install -e .
Please install JAX with CUDA support if you want to run the code on GPU.
Please find in examples/
folder the demo of vectorized planning in planar environments with occupancy map:
python examples/gtmp_occupancy.py
We also added a demo with vectorized Panda planning with MBM Dataset:
python examples/gtmp_mbm.py
Please see the configs/
folder to select task and problem index.
Tuning Tips:
M
: the number of GTMP layer. In principle, we start tuning fromM = 1
since most problems are suprisingly can be solved with one layer. The minimum layer such that the problem can be solved is usually the optimal number of layer.N
: the number of points per layer, which depends on the GPU memory. The moreN
the better in term of solvability, the worse computation time.H
: the number of probing, which depends on the GPU memory. We set this moderately high depending on problem to ensure collision avoidance.gamma = 0.9 - 0.99
is usually enough.
The occupancy maps are retrieved from this link.
The Motion Bench Marker dataset for Franka Emika Panda is retrieved from vamp repository
If you found this repository useful, please consider citing these references:
@misc{le2024globaltensormotionplanning,
title={Global Tensor Motion Planning},
author={An T. Le and Kay Hansel and João Carvalho and Joe Watson and Julen Urain and Armin Biess and Georgia Chalvatzaki and Jan Peters},
year={2024},
eprint={2411.19393},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2411.19393},
}