Skip to content

AutonoBot-Lab/Project_MoMa-Pos

Repository files navigation

🌍 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

Project Page | Arxiv

Fridge Sample Drawer Sample Table Sample

💻 Installation

Python 3.8 OMPL 1.6.0

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

📚 Main Project Structure

├── 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

👨‍💻 Basic Demos

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:

Fridge Sample Drawer Sample

Bowl in different positions in Drawer:

Fridge Sample Drawer Sample

✏️ Attention

The current code's parameter input is not written succinctly. We will address this by refining the code encapsulation in subsequent updates

🚀 Reference

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}
}