🌍 MoMa-Pos: An Efficient Object-Kinematic-Aware Base Placement Optimization Framework for Mobile Manipulation
Beichen Shao1, Nieqing Cao2, Yan Ding3, Xingchen Wang1,Fuqiang Gu1, Chao Chen1
1 College of Computer Science,Chongqing University, 2 Xi’an Jiaotong Liverpool University 3 Shanghai Artificial Intelligence Laboratory
Clone the repository and initialize submodules:
git clone https://github.com/AutonoBot-Lab/Project_MoMa-Pos.git
git submodule init
git submodule update
Install the OMPL package:
Download the latest OMPL release.
pip3 install pygccxml==2.2.1.
cd Project_MoMa-Pos/package_OMPL
pip3 install ompl-1.6.0-cp38-cp38-manylinux_2_28_x86_64.whl
├── Kitchen_models
├── MoMa_Pos
│ ├── MoMa_main.py
│ ├── ...
├── URDF_models
├── URDF_robot
│ ├── segbot.urdf
│ ├── ur5e.urdf
│ └── ...
└── utils
├── pb_ompl.py
├── utils_Bestman.py
├── utils_sample_R.py
├── utils_Potential_R.py
Run a basic demo:
python3 ./MoMa_Pos/MoMa_main.py
And you can change the position of bowl(element_H2) in
utils/utils_Kitchen_v2
Then you can see Bowl in different shelves of the fridge:
Bowl in different positions in Drawer:
The current code's parameter input is not written succinctly. We will address this by refining the code encapsulation in subsequent updates
If you find this work useful, please consider citing:
@article{shao2024task,
title={ MoMa-Pos: An Efficient Object-Kinematic-Aware Base Placement Optimization Framework for Mobile Manipulation},
author={Shao, Beichen and Ding, Yan and Wang, Xingchen and Xie, Xuefeng and Gu, Fuqiang and Luo, Jun and Chen, Chao},
journal={arXiv preprint arXiv:2403.19940},
year={2024}
}