Code repository for our paper "BaSeNet - A Learning-based Mobile Manipulator Base Pose Sequence Planning for Pickup Tasks" by Lakshadeep Naik, Sinan Kalkan, Sune L. Sørensen, Mikkel B. Kjærgaard and Norbert Kruger accepted at 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)
Paper pre-print Project webpage
Our code uses NVIDIA Isaac Sim for simulation. Installation instructions can be found here. This code has been tested with Isaac Sim version 'isaac_sim-2022.2.1'
Further, following python packages should be installed in the Isaac sim python environment:
omegaconf, hydra, hydra-core, tqdm, opencv-python, mushroom-rl (local), shapely
'local' - local installation of the package is required
./python.sh -m pip install {name of the package} --global-option=build_ext --global-option=build_ext --global-option="-I{Isaac install path}/ov/pkg/isaac_sim-2022.2.1/kit/python/include/python3.7m"
./python.sh -m pip install -e {package path}/ --global-option=build_ext --global-option=build_ext --global-option="-I{Isaac install pathj}/ov/pkg/isaac_sim-2022.2.1/kit/python/include/python3.7m"
Isaac environments:
https://drive.google.com/file/d/1M_ZJ-aGrzppw-4W2XNWWGqJjJK4n369T/view?usp=drive_link
UR5e assets
https://drive.google.com/file/d/1T60DYvzTUsxCs0e-PZlhVjGw636J9WoX/view?usp=drive_link
Download, unzip both the folders and place them inside the repository.
- Before trying to run the code, please change relative paths in all the config files in 'conf' folder.
First open {Isaac install path}/ov/pkg/isaac_sim-2022.2.1
in terminal and run the following command:
./python.sh {package path}/{script name}.py
Layer 1: optimal base pose for grasping
(Ensure that `optimize_base_poses' config file is loaded in conf/config.yml)
./python.sh {package path}/basenet/train/optimize_base_poses.py
Layer 2: determine grasp sequence
(Ensure that `grasp_sequence' config file is loaded in conf/config.yml)
./python.sh {package path}/basenet/train/grasp_sequence.py
Layer 1: optimal base pose for grasping
(Ensure that `optimize_base_poses' config file is loaded in conf/config.yml)
./python.sh {package path}/basenet/test/optimize_base_poses.py
Layer 2: determine grasp sequence
(Ensure that `grasp_sequence' config file is loaded in conf/config.yml)
./python.sh {package path}/basenet/test/grasp_sequence.py
L. Naik, S. Kalkan, S. L. Sørensen, M. B. Kjærgaard, and N. Krüger, “Basenet: A learning-based mobile manipulator base pose sequence planning for pickup tasks,” in 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (Accepted), 2024.
@INPROCEEDINGS{naik2024basenet,
author={Lakshadeep Naik and Sinan Kalkan and Sune L. Sørensen and Mikkel B. Kjærgaard and Norbert Krüger},
booktitle={2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
title={BaSeNet: A Learning-based Mobile Manipulator Base Pose Sequence Planning for Pickup Tasks},
year={2024}
}